Win a copy of Spring Boot in Practice this week in the Spring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh

Service Versioning Deployment - Best approach

Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Ranch Hand
Posts: 2198
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
First of all, according to the WSDL 1.1 specification, service names must be unique within one WSDL:

Given that you have added operations, this is to be considered as a compatible change and I feel there is no need to change the namespace.

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.
Best wishes!
    Bookmark Topic Watch Topic
  • New Topic