Basically posted from Spring integration main forum as this is related to AMQP
Hi
In one of my project, I need to use SOAP over AMQP and XML(text) over AMQP , i.e send soap messages over a AMQP transport (instead of http).
My approch is to use AMQP inbound/outbound gateways, apdapters for dealing the AMQP transport.
and attaching a message converter to the underlying AMQP template for handling message payload types (i.e xml,json,soap etc).
I have seen some success with this design for xml over AMQP and java serialized object over AMQP.
But I am not sure how i should go about marshaling java objects to SOAP payloads and vice versa.
Is there something out of box available in spring integration which i can make use of?
I am looking for some thing simple like this
Example :
This is how i handle XML payloads
now I want to enhance the same to handle Soap message as well.Code:<int-amqp:outbound-gateway exchange ="someExchange" routingKey="someRoutingKey" amqp-template="xmlOverAmqpTemplate" request-channel="inputChannel" /> <rabbit:template id="xmlOverAmqpTemplate" message-converter="jaxbMessageConverter" /> <bean id="jaxbMessageConverter" class="com.mycusotom.JaxbBasedMessageConverter"> <property name="marshaller" ref="jaxb"></property> <property name="unmarshaller" ref="jaxb"></property> </bean> <bean id="jaxb" class="org.springframework.oxm.jaxb.Jaxb2Marshaller" > <property name="contextPaths" ref="contextList"/> </bean>
In effect I want to create a SOAPMessageConverter instead of com.mycusotom.JaxbBasedMessageConverter
And the soapmessageconverter should convert java pojos (jaxb annotated) to soap payloads.
Is there any thing available in spring for this? I explored the int-ws, but this seems to be much tied to http symantics.
Any help will be much appreciated. I am also considering the option of brining cxf in to take care of java2soap translation and viceversa , but i dont want to blot out my stack as well by bringing too many dependencies. If some thing is available in spring stack thats what i am looking for!


Reply With Quote
