3

I have to expose a web service. The wsdl is given. The webservice methods return void. I want to use the deserialized Pojos in a camel route. I have no idea how to do this.

<jaxws:endpoint
    id="citdelegee"
    address="/citdelegee"
    serviceName="citService"
    endpointName="cit"
    implementor="#citdelegeeImpl">
  </jaxws:endpoint>


  <bean id="citdelegeeImpl"
      class="de.iteos.egov.advisadaptor.services.DelegeeService"/>

A simplified version of the Webservice:

@WebService(name = "citdelegee")
public class DelegeeService {


    @WebMethod

    public void startProcess(@WebParam(name = "uuid", targetNamespace = "") String uuid)
            throws DelegeeFault_Exception {

        //Do some processing
        //Can I put an object into the camel context here”
    }
}

How can I put something in a camel route from within the startProcess method? I should deploy on Apache ServiceMix 7.

Hans
  • 145
  • 9
  • 1
    Inside the startProcess method, you can put an object in an ActiveMQ queue or save it to a database and then read it in the route. – Alexey Yakunin Sep 24 '19 at 09:55
  • I think you have to use the camel cxf endpoint instead of the jaxws. See my [answer](https://stackoverflow.com/a/65037109/628006) where I explain differences between the two endpoints (this was for REST, but cxf endpoint support SOAP as well). – рüффп Feb 25 '21 at 21:01
  • See an [exemple](https://camel.apache.org/components/latest/cxf-component.html#_configuring_the_cxf_endpoints_with_apache_aries_blueprint) from Camel doc and how the endpoint is the starting endpoint of the Camel route. – рüффп Feb 25 '21 at 21:03

0 Answers0