cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Goran Cvetkoski" <goran.cvetko...@netcetera.com.mk>
Subject Web service minor versioning with cxf
Date Tue, 06 Oct 2009 15:03:59 GMT
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.

--
Netcetera goes mobile - travel in and around Z├╝rich with our free iPhone
application Wemlin:
http://mobile.netcetera.ch/wemlin

Goran Cvetkoski | goran.cvetkoski@netcetera.com.mk
phone +389 -2- 30 64 532 | fax +389 -2- 30 79 495
Netcetera | 1000 Skopje | Macedonia | http://netcetera.com.mk



Mime
View raw message