Hi,

I am working on migration of web-services in our project from Axis1 to Axis2. 
In generating client/server classes I found those are not equivalent to classes 
generated by Axis1 WSDL2Java utility. We have an inheritance hierarchy of data 
classes created in WSDL.

When java classes are created using Axis1 wsdl2java, it adds a multi-value 
constructor to each class which passes values required by super class using 
super(param1, param2...) and instantiates it's own instance variable from 
remaining argument.

Whereas, axis2 wsdl2java do not generate any constructor, so the only 
constructor which can be invoked is default constructor. We were using 
multi-value constructors in earlier business logic, so if we use these new 
classes directly, we will have to change code in all such places. Is there any 
way Axis2 to generate classes in such manner? Please let me know if I should 
add any other option to create such hierarchy. I have tried using ADB and 
XMLBeans binding. Below is the command I tried by using ADB binding-

WSDL2Java -uri PlanIntegrationServices1_0.wsdl -d adb -s -o build2 -u


I have also attached wsdl as well as classes generated by axis1 and axis2 
style; you can notice there is a multiple arg constructor in axis1 style 
classes but not in axis2 generated code.

Kind Regards,
Sumit Gaikaiwari

Reply via email to