DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13035>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13035

Axis clients sending arrays of ANYs containing arrays of strings send bad SOAP request.

           Summary: Axis clients sending arrays of ANYs containing arrays of
                    strings send bad SOAP request.
           Product: Axis
           Version: current (nightly)
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Given the following .NET C# web service:

        [WebMethod]
        public object[] HelloWorld(object[] arg)
        {
                return arg;
        }

And calling it with the following Axis client:

        ArrayOfAnyType arg = new ArrayOfAnyType();
        ArrayOfAnyType rtrn;

        Object[] any = new Object[]{new String[]{"s1","s2"},
                                    new String[]{"s3", "s4"}};

        arg.setAnyType(any);

        rtrn = fport.helloWorld(arg);

The following SOAP document will be sent as the request:
.NET will actually except it and send back the same thing as the reply,
then Axis will throw and exception saying it can't be parsed:
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which 
is NOT expected, in something it was trying to deserialize.

<?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>  
         <HelloWorld xmlns="http://tempuri.org/";>   
            <arg>    
               <anyType>     
                  <item xmlns="">s1</item>     
                  <item xmlns="">s2</item>    
               </anyType>    
               <anyType>     
                  <item xmlns="">s3</item>     
                  <item xmlns="">s4</item>    
               </anyType>   
            </arg>  
         </HelloWorld> 
      </soapenv:Body>
   </soapenv:Envelope>

Reply via email to