Search code examples
web-servicessoapwsdlapache-camelapache-servicemix

Duplicating a same SOAP webservice in Camel


A SOAP webservice is been exposed by a system. I have got a wsdl file of the webservice. Im able to send request and get response from soap ui. I want to duplicate this wsdl SOAP webservice in my camel routes deployed in servicemix, thereby making my ESB expose a similar webservice as the system's webservice. THis way many systems access this webservice to contact the system. How do i duplicate a webservice using wsdl file of the system??


Solution

  • To duplicate webservice, exposed by a system, you can use http proxy route, based on jetty:

        <route id="ServiceProxy">
            <from uri="jetty:http://0.0.0.0:8186/service/?disableStreamCache=true&amp;matchOnUriPrefix=true&amp;continuationTimeout=900000&amp;httpClient.timeout=120000"/>
            <to uri="jetty:http://{{app-server.host}}:{{app-server.http.port}}/service/?bridgeEndpoint=true&amp;throwExceptionOnFailure=false&amp;continuationTimeout=120000&amp;httpClient.timeout=900000"/>
        </route>
    

    You can write the same route on JavaDSL.