Hi Dan,
Yes, I think we do have some serious
regressions in the array area since RC2.
Test cases that run in our harness would
be most welcome, that will ensure that we don’t break it again. L
--
Tom Jordahl
Macromedia Server Development
From: Dan Armbrust [mailto:[EMAIL PROTECTED]
Sent: Friday, May 27, 2005 11:18
AM
To: [email protected]
Subject: String Array regression?
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>
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 beta
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 Array throws
an exception, as detailed above.
Thanks for any advice,
Dan
|
- RE: String Array regression? Tom Jordahl
-