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