Amila, Is it possible to point the JDK1.6 jars which is causing this behavior to change when there are no changes on axis2 1.3 side. Is it some stax-api jars in JDK1.6 causing this issue or something else? Or can you point us on where to fix it.
Thanks Yogiraj ________________________________ From: Amila Suriarachchi [mailto:[email protected]] Sent: Tuesday, September 15, 2009 10:49 AM To: [email protected] Subject: Re: axis2 1.3 - jdk1.6 generates wrong argument sequence in soap message On Mon, Sep 14, 2009 at 5:38 PM, BENDALE, Yogiraj (Yogiraj) <[email protected]<mailto:[email protected]>> wrote: Amila, Attaching the wsdl file used to generate the code. The code generated with axis2 1.3 with JDK1.6 has wrong sequence in serialization and parsing. The generated code TAMNotify2.java has orders of in0 and in1 reversed compared to JDK1.5 The code generated with axis2.1.5 with JDK1.6 ls ok having proper order but give some ADB Exceptions for nillable element. At this point of time it may not be feasible for us to upgrade to axis2 1.5 and fix all the issue. Normally we fix issues exists on the current trunk. So if the bug is fixed for Axis2 1.5 either you need to upgrade to that or fix the issue with axis2 1.3 by your self. thanks, Amila. Please can you have a look and provide any suggestion to make it work with axis2 1.3. Thanks Yogiraj ________________________________ From: Amila Suriarachchi [mailto:[email protected]<mailto:[email protected]>] Sent: Friday, September 11, 2009 10:12 AM To: [email protected]<mailto:[email protected]> Subject: Re: axis2 1.3 - jdk1.6 generates wrong argument sequence in soap message On Wed, Sep 9, 2009 at 10:27 PM, BENDALE, Yogiraj (Yogiraj) <[email protected]<mailto:[email protected]>> wrote: Amila, The wsdl file I used are same only difference is we started using JDK1.6 from JDK1.5 and now any client compiled from JDK1.5 does not work. It gives org.apache.axis2.databinding.ADBException first check which version produces the wrong order. Generated code should have the same order as the wsdl used in code gen. then send us the wsdl file and jdk version with produces the wrong code. Please try with the Axis2 1.5 as well. thanks, Amila. Thanks Yogiraj From: Amila Suriarachchi [mailto:[email protected]<mailto:[email protected]>] Sent: Wednesday, September 09, 2009 7:20 PM To: [email protected]<mailto:[email protected]> Subject: Re: axis2 1.3 - jdk1.6 generates wrong argument sequence in soap message are the two wsdl files same? thanks Amila. On Wed, Sep 9, 2009 at 6:54 PM, BENDALE, Yogiraj (Yogiraj) <[email protected]<mailto:[email protected]>> wrote: Hi, We are using axis2 1.3 with JDK1.5. Recently we upgraded to JDK1.6 and found that the client and server generated with JDK1.6 and axis2 1.3 works fine. But the client of axis2 1.3 JDK1.6 does not work axis2 1.3 -JDK1.5. Looking at the generated code it seems that WSDL2Java generated code with JDK1.6 changes the order of arguments sent on SOAP message. Is there any options or parameters need to be set. In both the generated file definition of in0 and in1 is same. SOAPResponseData localIn0; ArrayOfMapItem localIn1; JDK1.6:- while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isStartElement() && new javax.xml.namespace.QName("", "in1").equals( reader.getName())) { object.setIn1(com.lucent.nos.wsam.gateways.soap.NOTIFY2.ArrayOfMapItem.Factory.parse( reader)); reader.next(); } // End of if for expected property start element else { // A start element we are not expecting indicates an invalid parameter was passed throw new org.apache.axis2.databinding.ADBException( "Unexpected subelement " + reader.getLocalName()); } while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isStartElement() && new javax.xml.namespace.QName("", "in0").equals( reader.getName())) { object.setIn0(com.lucent.nos.wsam.gateways.soap.NOTIFY2.SOAPResponseData.Factory.parse( reader)); reader.next(); } // End of if for expected property start element JDK1.5 while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isStartElement() && new javax.xml.namespace.QName("", "in0").equals( reader.getName())) { object.setIn0(com.lucent.nos.wsam.gateways.soap.NOTIFY2.SOAPResponseData.Factory.parse( reader)); reader.next(); } // End of if for expected property start element else { // A start element we are not expecting indicates an invalid parameter was passed throw new org.apache.axis2.databinding.ADBException( "Unexpected subelement " + reader.getLocalName()); } while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isStartElement() && new javax.xml.namespace.QName("", "in1").equals( reader.getName())) { object.setIn1(com.lucent.nos.wsam.gateways.soap.NOTIFY2.ArrayOfMapItem.Factory.parse( reader)); reader.next(); Let me know if any more information required. Thanks Yogiraj -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
