I am looking for best approach to implement the service versioning. I have existing service which is deployed in production. The new version we added few new operations with schema updates. The new version wsdl and schema has new version of namespaces. Here is the structure and config details..
wsdl/v1 has old files and wsdl/v2 has new files in EAR.
The deployment fails if v2 wsdl's service name is not diffrent from v1 service name. The end point can be same but anyway the end point will be diffrent for v2 service. I wanted to deploy this in one EAR with v1 and v2 WSDL's and keeping the v2 service name as v1. Is this the good approach ?
The future plan would be obselete v1 as we implement v3. PLease suggest. How can the wsdl config support this kind of scenario?.
I am using webspehere 6.1 and here is the error message when deploy with same service name with diffrent end point url for V2:
Error 404: SRVE0190E: File not found: /ProductDefinitionServiceV2
If you perform modifications to the service that are not compatible changes and/or you still want to introduce versioning using namespaces, a solution is (as I have said here before) to introduce a service facade (mediator node) that examines the namespace of incoming requests and forwards them to the appropriate endpoint.