I'm using servicemix (fuse 4.1.0.2) with cxf 2.2.2.1-fuse and the cxf osgi transport 4.1.0.2-fuse on a windows machine with jdk 6u16.
I'm trying to make a simple jaxws service like the servicemix http://servicemix.apache.org/SMX4/cxf-examples.html cxf-osgi example . Something like: <jaxws:endpoint id="helloWorld" implementor="org.apache.servicemix.examples.cxf.HelloWorldImpl" address="/HelloWorld"/> and the WebService annotations are simple. Just @WebService on the @WebService(endpointInterface = "org.apache.servicemix.examples.cxf.HelloWorld") on the implementation. The example page I linked earlier says that the service should be published at http://localhost:8080/cxf/HelloWorld?wsdl, but for me its at a different port, http://localhost:8181/cxf/HelloWorld?wsdl. I had to netstat to find what port it was listening on. I can access the WSDL fine and exercise it with SoapUI, and the example client. So, I have four questions: 1. Why is the port different (8080 vs 8181), and how is it determined? 2. Why is the service at /cxf/HelloWorld, when the jaxws endpoint definition said it is at /HelloWorld? I assume some kind of cxf context is prepended, but how is this controlled and where? And can I override it in my service configuration, either spring or annotation? 3. This is probably the most important. How can my service know what its actual location is? Even if I grab the WebServiceContext using a @Resource annotation, it only gives me an address of /HelloWorld, not the full http://localhost:8181/cxf/HelloWorld?wsdl. I want to be able to register the service in UDDI. 4. If I change the address from /HelloWorld to nmr:HelloWorld, how would the service know its endpoint? Thanks!!! -John -- View this message in context: http://www.nabble.com/How-can-a-jaxws-service-know-its-location--tp25775479p25775479.html Sent from the cxf-user mailing list archive at Nabble.com.
