I've read plenty of tutorials by now, none facing a problem of a real comlex scenario with Web-Services and Routing. What I have in mind is the following.
Each message send to http://localhost:8181/cxf/WebService is be directed to the Java-Class (see attachment "EndpointImpl.java") implementing this service. Afterwards the message body (which is supposed to be in XML format) is send to an NMR-Endpoint (nmr:endpoint:Router), the message is routed to another NMR-Endpoint in regard to the content (the query is expressed in XPath). At the end the message is send to an external Web-Service.
I want the functionality implemented in different OSGi-Bundles. So I've started to create a first Bundle which uses the cxf-codegen-plugin/wsdl2java to generate a Java-Skeleton from the specified WSDL. The Spring-XML-Configuration I created therefore is in the attachment "beans.xml". So far calling the Web-Service, e.g. from SOAP-UI works. The problem is that I can't reference a jax-ws:endpoint in Camel, with cxf:cxfEndpoint it does work. My first question is what is the main difference between jax-ws:endpoint and jax-ws:endpoint, can both use WS-Addressing and further WS-extensions? Refering to the bean "ProxyEndpoint" results in polling the bean, this isn't my intention. So, I also considered to call the NMR-Endpoint from within "EndpointImpl.java". The Camel-Context is injected but I get always a NullpointerException from org.apache.servicemix.camel.ServiceMixProducer.process (line 48,
47: NMR nmr = getEndpoint().getComponent().getNmr();
48: Channel client = nmr.createChannel();
Does anyone have a solution for this problem or may a suggestion how to implement this scenario? When I've finished this scenario I will create a blog with a step-by-step tutorial. But first, I need you help.