Does anyone have an answer to this?
Am 28.07.2010 14:21, schrieb ggsoft:
Hi all, today i was thrown into the exact same problem as i found described by Goran on this mailing list. Is there any solution to this? Regards ggsoft Hi, I want to add a minor version update with backward compatibility (add service method) to a existing web service build with cxf. What I have done so far is all the steps proposed in this paper http://blogs.iona.com/sos/20070410-WSDL-Versioning-Best-Practise.pdf. Additionally, I've added second implementation of the web service. In the cxf-servlet.xml file, I've modified the endpoint element to the new version of the service running on the same address. <jaxws:endpoint id="Service-v1d1" implementor="#serviceV1d1Ws" wsdlLocation="Service-v1.wsdl" address="/service/1"> <jaxws:properties> <entry key="schema-validation-enabled" value="true" /> </jaxws:properties> <jaxws:inInterceptors> <ref bean="accessControlInterceptor" /> <ref bean="logInboundInterceptor"/> </jaxws:inInterceptors> <jaxws:outInterceptors> <ref bean="logOutboundInterceptor"/> </jaxws:outInterceptors> </jaxws:endpoint> Now, for the issue I encountered: 1. when I try to call the web service from a client with the 1.0 implementation, the client is throwing an java.net.MalformedURLException because the soap address for the 1.0 version is still 'service/1' and not a fully functional address like it is for 1.1 - http://localhost:8081/web-service/service/1. This is what I see in browser for the service definitions in the wsdl: <wsdl:service name="Service_v1_0"> <wsdl:port binding="tns:Service_v1_0_SoapBinding" name="Service"> <soap:address location="service/1"/> </wsdl:port> </wsdl:service> <wsdl:service name="Service_v1_1"> <wsdl:port binding="tns:Service_v1_1_SoapBinding" name="Service"> <soap:address location="http://localhost:8081/web-service/service/1"/> </wsdl:port> </wsdl:service> I don't see why the soap address isn't generated for both versions of the service. Any help will be appreciated. Thanks.
