1
votes

I have defined a simple proxy service in WSO2 ESB(4.8.1) which is listening over a QUEUE via JMS. This service after reading the message send it to another queue.

Problem:

When i define inline endpoint then it works fine, but if i refer to a registry endpoint then WSO2 ESB gives me error and does not allow me to modify the service.

Proxy Service:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="FailOverTest"
       transports="jms"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
         <log level="full"/>
         <property name="ClientApiNonBlocking" action="remove" scope="axis2"/>
         <send>
            <endpoint key="gov:/repository/Endpoints/EndpointFailover.xml"/>
         </send>
         <log level="full"/>
      </inSequence>
      <faultSequence>
         <property name="SET_ROLLBACK_ONLY"
                   value="true"
                   scope="axis2"
                   type="STRING"/>
         <log level="custom">
            <property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
            <property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
            <property name="ERROR_DETAIL" expression="get-property('ERROR_DETAIL')"/>
            <property name="ERROR_EXCEPTION" expression="get-property('ERROR_EXCEPTION')"/>
            <property name="Transaction Action" value="Rollbacked"/>
         </log>
      </faultSequence>
   </target>
   <parameter name="transport.jms.ContentType">
      <rules>
         <jmsProperty>contentType</jmsProperty>
         <default>application/xml</default>
      </rules>
   </parameter>
   <parameter name="transport.jms.ConnectionFactory">myQueueConnectionFactory</parameter>
   <parameter name="transport.jms.DestinationType">queue</parameter>
   <parameter name="transport.jms.Destination">FailOverRequest</parameter>
   <parameter name="originator">ServiceAdmin</parameter>
   <description/>
</proxy>

Registry Endpoint XML:

<?xml version="1.0" encoding="UTF-8"?>
 <endpoint>
 <address uri="jms:/FailOverResponse?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue" format="pox">
</address>
</endpoint>

Error WSO2 ESB Displaying: Error

1

1 Answers

2
votes

This error may occur if you are attempting to modify the endpoint through Source View. The Design-View endpoint modification has a nice feature that allows browsing of the registry, and it will format the link to registry endpoints successfully every time. Please try that Design-view to modify your endpoint.