Hi,

Besides write an interceptor to do it yourself, I suggest you take a look at cxf transformation feature[1] which is very suitable for your scenario.

[1]http://cxf.apache.org/docs/transformationfeature.html
Freeman
On 2012-6-8, at 上午4:04, rouble wrote:

If I have a java first we service:

package com.example.v1;

@WebService
FooMethods {
  foo1();
  foo2();
}

And in version 2 of the same service, we add one method - we add one method - which is a backwards compatible change, but we also change the package and therefore namespace (as suggested in the best common practices of WSDL
versioning):

package com.example.v2;

@WebService
FooMethods {
  foo1();
  foo2();
   foo3();
}

Now, clients that were written against the version 1 of the service will fail against the new web service - even for methods that existed in version 1 of the web service (foo1 and foo2). This is because the older clients come in looking for {http://v1.example.com}foo1 whereas on the server we
now have {http://v2.example.com}foo1

What is the right way to fix this? Write an interceptor to modify the
incoming namespace on the old URLs?

Versioning in the namespace is a very common practice, so I am hoping this is a common problem that there is a good fix for. Let me know if I am doing
something unorthodox.

tia,
rouble

---------------------------------------------
Freeman Fang

FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042










Reply via email to