Advice on solution wanted

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Advice on solution wanted

helander
Given the following scenario, what would the "best" solution be.

Given is:
  - 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.

Thanks

Lars