[ http://issues.apache.org/jira/browse/AXIS-2021?page=comments#action_12313204 ]
Davanum Srinivas commented on AXIS-2021: ---------------------------------------- Tom, yes, you are right...a .NET client with the original wsdl works fine with the server-side code generated from the original wsdl. So the problem is out array serializer. Here is the bad soap message from our client. See the extra xsi:type stuff...if we get rid of it, then all's well. -- dims <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <lookupConceptCodesByProperty xmlns="urn:hl7.org/CTSVAPI"> <codeSystem_id>2.16.840.1.113883.5.4</codeSystem_id> <matchText>TEXT</matchText> <matchAlgorithm_code>StartsWithIgnoreCase</matchAlgorithm_code> <language_code>en</language_code> <activeConceptsOnly>true</activeConceptsOnly> <properties xsi:type="ns1:ArrayOf_xsd_string" xmlns:ns1="urn:hl7.org/CTSVAPI">textualPresentation1</properties> <properties>textualPresentation2</properties> <properties>textualPresentation3</properties> <properties>textualPresentation4</properties> <mimeTypes xsi:type="ns2:ArrayOf_xsd_string" xmlns:ns2="urn:hl7.org/CTSVAPI">A</mimeTypes> <mimeTypes>B</mimeTypes> <mimeTypes>C</mimeTypes> <timeout>0</timeout> <sizeLimit>10</sizeLimit> </lookupConceptCodesByProperty> </soapenv:Body> </soapenv:Envelope> > String Array Regression causes SAXException: Found character data ... > --------------------------------------------------------------------- > > Key: AXIS-2021 > URL: http://issues.apache.org/jira/browse/AXIS-2021 > Project: Axis > Type: Bug > Components: Serialization/Deserialization > Versions: 1.2 > Environment: Server - Tomcat 5.0.25 on Java 1.4.2_01 on Fedora Core 3 > Client - Axis running on Java 1.4.2_05 On Window XP SP2 > Reporter: Dan Armbrust > Priority: Blocker > Attachments: VocabBrowser.wsdl, VocabBrowser.wsdl, java.zip > > This seems to be a serious regression bug... But maybe I'm doing something > wrong... > I was using 1.2 RC2, and everything was working for me. Now under 1.2 final, > the handling of arrays appears broken. > Here is the error: > org.apache.axis.AxisFaultorg.xml.sax.SAXException: Found character data > inside an array element while deserializing > Here is the message that it choked on: > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <getSupportedMatchAlgorithmsResponse xmlns="urn://hl7.org/CTSVAPI"> > <getSupportedMatchAlgorithmsReturn xmlns:ns1="urn://hl7.org/CTSVAPI" > xsi:type="ns1:ArrayOf_xsd_string">IdenticalIgnoreCase</getSupportedMatchAlgorithmsReturn> > > <getSupportedMatchAlgorithmsReturn>StartsWithIgnoreCase</getSupportedMatchAlgorithmsReturn> > > <getSupportedMatchAlgorithmsReturn>EndsWithIgnoreCase</getSupportedMatchAlgorithmsReturn> > > <getSupportedMatchAlgorithmsReturn>ContainsPhraseIgnoreCase</getSupportedMatchAlgorithmsReturn> > </getSupportedMatchAlgorithmsResponse> > </soapenv:Body> > </soapenv:Envelope> > What it is supposed to be returning is a simple String[]. > A snippit from the wsdl file: > <element name="getSupportedMatchAlgorithms"> > <complexType/> > </element> > <element name="getSupportedMatchAlgorithmsResponse"> > <complexType> > <sequence> > <element maxOccurs="unbounded" name="getSupportedMatchAlgorithmsReturn" > type="xsd:string"/> > </sequence> > </complexType> > </element> > So I don't know why that ArrayOf_xsd_string gunk is in the response. > My build process is kind of complicated - my initial definition of the API is > in IDL. The idl is compiled into Java. Then, my WSDL is generated by the > java2wsdl tool, using the "-y WRAPPED" option. > Then, I generate java using wsdl2java tool - and I implement my API using the > resulting java classes. One thing that I noted here, was that 1.2 rc2 > generated "ArrayOf_X" classes for each array object, while 1.2 final does > not generate any ArrayOf_X classes. > Finally I install the code into my Axis server, and try it out. I can call > most of the methods in my API - but anything that returns an a String Array > throws the SAXException (as noted above) while trying to parse the response, > which has stuff in it it shouldn't. > Dan -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira