Hi Antonio
I tried to follow but without any success, probably I have got some
conceptual mistake in my configuration - if you could look at it:
.....

It's not working in same place as I wrote above, and get into endless loop.
What's wrong with this config, can you explain a little?
Seems like quite a few things are wrong.. first of all, can you state your objective? from what I understood earlier:

"/What I need to see working example of such scenario:/
/- HTTP proxy which send JMS message over Synapse (e.g. request queue)
- next this message is consumed by some simple service (i try with simple
bean which should uppercase text and send back as echo)
- this simple service responds with new message which is thrown into another
queue (e.g. response queue)
- HTTP proxy should consume from response queue and send back response via HTTP (*)/"

1) Some HTTP/SOAP/POX client you have sends a request to a Synapse proxy service

Http Client -----(HTTP)-----> SynapseProxyService

2) SynapseProxyService posts it into a JMS Request Queue

SynapseProxyService -----------------> JMS RequestQ

3) Some JMS service you have already written reads from the RequestQ and does some thing, and writes back a response to another Queue

JMS RequestQ --------------------> JMS Service --------------------> JMS ResponseQ

Note: As with standard JMS applications, the response posted to the ResponseQ must have the correct correlation ID copied from the original request

4) SynapseProxyService listens for JMS response message on ResponseQ, and sends this back to the original HTTP/SOAP/POX client

JMS ResponseQ ------------> SynapseProxyService -----------(HTTP)----------> Http Client

Is this your requirement?

If so, you would create a configuration like the following:

   <endpoint name="requestQueue">
<address uri="jms:/RequestQueue?transport.jms.DestinationType=queue&amp;java.naming.provider.url=tcp://localhost:61616&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;transport.jms.ContentTypeProperty=Content-Type"/>
   </endpoint>

   <proxy name="MyProxy" transports="http">
       <target>
           <inSequence>
               <log level="custom">
                   <property name="text" value="Got a HTTP request"/>
               </log>
<property action="set" name="JMS_REPLY_TO" value="ResponseQueue" scope="axis2"/>
               <send>
                   <endpoint key="requestQueue"/>
               </send>
           </inSequence>
           <outSequence>
               <log level="custom">
                   <property name="text" value="Got the JMS Response"/>
               </log>
               <send/>
           </outSequence>
       </target>
   </proxy>

cheers
asankha

--
Asankha C. Perera
http://adroitlogic.org

http://esbmagic.blogspot.com

Reply via email to