[ https://issues.apache.org/jira/browse/AXIS2-1810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12779162#action_12779162 ]
John Miller commented on AXIS2-1810: ------------------------------------ Tomer, Currently under Axis, we have versioned our services by basically duplicating the WSDL and schemas into a directory that represents the new version. Then, we modify the namspace to reflect the version, i.e.: www.sample.org/v2.0/ServiceName. This has worked well. However, you can see that as the system/services grow duplication of the schemas and WSDL just creates a lot of extra code as well as if you decide to keep some of the versioned service online and need to make a change to a common schema or fixed a issue with an older schema you'll need to replicate that throughout your source tree of versioned schemas. The sample above worked as designed under Axis and provides a single source tree. An Example... resources/wsdl/myservice/MyService.wsdl resources/wsdl/myservice/v1/MyService.xsd resources/wsdl/myservice/v2/MyService.xsd resources/xsd/common/Common.xsd When you use wsdl2java to generate the code, it not only creates the versioned package names i.e.: org.sample.www.v1_0.myservice and org.sample.www.v2_0.myservice but it also creates a SOAPBindingImpl class for each version SOAPBindingImplV1 and SOAPBindingImplV2. Now migrating to Axis2, this also works under Axis2 and Axis2 does handle creating Axis style code as well as it can generate a services.xml file that gives you a better handle on creating/defining classes to handle/receive the SOAP requests for a given service or service group. However, it does create different classes and class names (Axis' biggest problem). I'm trying several different approaches to handle the different classes created by codegen (Axis2) vs wsdl2java (Axis). I'm also looking at using Axis2 AXIOM functionality/Raw XML (ReceiverInOut class) and convert the messages using the TypeMapping classes under Axis in order to reuse the legacy code which can be upgraded as time permits. Hope this helps. Please let me know what you find/discover via your development.and testing. John > Cannot deploy multiple versions of the same service > --------------------------------------------------- > > Key: AXIS2-1810 > URL: https://issues.apache.org/jira/browse/AXIS2-1810 > Project: Axis 2.0 (Axis2) > Issue Type: New Feature > Components: kernel > Affects Versions: 1.1 > Reporter: Gul Onural > Assignee: Deepal Jayasinghe > > I am trying to deploy multiple versions of the same web service without > changing the name of the service and wsdl. Instead, I want to be able to do > that by changing namespace of the service in the wsdl file and location of > the service. For example : > MyService - version 1 > ================= > ServiceName = MyService > Location = http://localhost/axis2/services/v1.0/MyService > Wsdl namespace = http://www.mycompany.com/Namespace1 > MyService - version 2 > ================= > ServiceName = MyService > Location = http://localhost/axis2/services/v2.0/MyService > Wsdl namespace = http://www.mycompany.com/Namespace2 > Currently Axis2 doesn't have a mechanism to deploy multiple versions of the > same service by chaging its location and wsdl namespace. The services > repository has not been designed to accomadate multiple versions of the same > service (you can have only one service repository). > It can probably be done providing support for deploying multiple versions of > the same service similar to the mechansim provided for deploying multiple > versions of the same "module". > Gul -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.