• 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
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
  • Mikalai Zaikin

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: http://www.w3.org/TR/wsdl#_services

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.
Reference: http://www.soapatterns.org/compatible_change.php

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!
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    Bookmark Topic Watch Topic
  • New Topic