Given the following scenario, what would the "best" solution be.
- A remote SOAP service is available over a JMS transport.
- The service is described by a WSDL.
- I generate an interface class (wsdl port type) from the wsdl using wsdl2java (cxf-codegen-plugin)
- Applications that access the service, should be able to do this by just knowing about the interface class and some provider of a proxy having this interface.
- I need to do processing related to the request and response messages where I have access the message contents as POJO:s
So, given the interface class I would like to be able to create the proxy (I have tried both cxf and camel proxies). When an application calls a service method on the proxy, I want the following to happen:
The service call is transformed to a message exchange, where the request data is in POJO format. The exchange is now processed by a route having a number "steps". At some point towards the end of the route I need to transform the request to the required XML message. When I have the XML message I will do some further processing steps and after this, I would like to send the request message to the remote server using camel-jms. When the response is received I would like to be able to process the response contents using a POJO representation of the response, and finally provide the response back to the calling client via the proxy.
I had this working using ProxyBuilder and the camel-soap dataformat, but I found out that if I had a method with two input parameters of the same type, then this is not supported. So this solution does not work.
Any help towards the "best" solution is highly appreciated.