axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom Jordahl" <t...@macromedia.com>
Subject RE: String Array regression?
Date Fri, 27 May 2005 16:04:44 GMT
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.  :-(

 

--
Tom Jordahl
Macromedia Server Development

________________________________

From: Dan Armbrust [mailto:daniel.armbrust.list@gmail.com] 
Sent: Friday, May 27, 2005 11:18 AM
To: axis-dev@ws.apache.org
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/"
<http://schemas.xmlsoap.org/soap/envelope/>
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<http://www.w3.org/2001/XMLSchema>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<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</getSupportedMatch
AlgorithmsReturn> 
 
<getSupportedMatchAlgorithmsReturn>StartsWithIgnoreCase</getSupportedMat
chAlgorithmsReturn> 
 
<getSupportedMatchAlgorithmsReturn>EndsWithIgnoreCase</getSupportedMatch
AlgorithmsReturn> 
 
<getSupportedMatchAlgorithmsReturn>ContainsPhraseIgnoreCase</getSupporte
dMatchAlgorithmsReturn> 
   </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 










Mime
View raw message