Hi, I have a question on the CXF Transport for OSGi.
Basically if you do the following Start Servicemix *at the console run => features/install examples-cxf-osgi *open a web browser and check that http://localhost:8080/cxf/HelloWorld?wsdl<http://localhost:8080/cxf/HelloWorld?wsdl*>gives you the demo WSDL set *log/set TRACE Build the cxf-wsdl-first demo and install it using => **osgi/install -s mvn:org.apache.servicemix.examples.cxf-wsdl-first/wsdl-first-cxf-sa/4.1.0-SNAPSHOT/zip * point your web browser to http://localhost:8092/PersonService?wsdl<http://localhost:8092/PersonService?wsdl*>to verify the cxf-wsdl-first demo is running this all works fine and you should see the both wsdl files. Then restart Servicemix. You can no longer see http://localhost:8092/PersonService?wsdl<http://localhost:8092/PersonService?wsdl*>wsdl - from debugging this along - it now ends up in the OSGITransportFactory and will throw an error in the log files "17:58:41,241 | ERROR | xtenderThread-66 | CxfBcComponent | mmon.xbean.AbstractXBeanDeployer 103 | javax.jbi.management.DeploymentException: java.lang.IllegalStateException: Endpoint address should be a relative URI wrt to the servlet address (use '/xxx' for example)" if you look at https://svn.apache.org/repos/asf/servicemix/smx4/features/trunk/cxf/cxf-transport-osgi/src/main/java/org/apache/servicemix/cxf/transport/http_osgi/OsgiTransportFactory.java In getDestination it throws if (URI.create(endpointInfo.getAddress()).isAbsolute()) { throw new IllegalStateException("Endpoint address should be a relative URI wrt to the servlet address (use '/xxx' for example)"); } the sequence of starting the two demos is the same on reboot but yet we get different results. As when you first attempt to run the cxf-wsdl-first demo the CXF Transport for OSGi is already running and we can see out PersonService wsdl. But it looks like the OSGI Transport is not set as the default until after a refresh/reboot. Then when you reboot and attempt to launch the PersonService wsdl it ends up in the OsgiTransportFactory which is not going to work. Shouldn't other services be able to be deployed independant of the Osgi Transport Service and use say the SoapTransportFactory. I did ask Freeman and he mentioned one work around would be to use your own bus. thanks, Edell.
