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&java.naming.provider.url=tcp://localhost:61616&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&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