You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ji...@apache.org on 2004/04/13 15:07:43 UTC

[jira] Updated: (AXIS-1308) Axis 1.2 beta and .NET 1.1: Problem with arrays

The following issue has been updated:

    Updater: Thomas Boerkel (mailto:thomas@boerkel.de)
       Date: Tue, 13 Apr 2004 6:05 AM
    Changes:
             Attachment changed to SoapTest_11RC2.wsdl
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://issues.apache.org/jira/browse/AXIS-1308?page=history

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1308

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1308
    Summary: Axis 1.2 beta and .NET 1.1: Problem with arrays
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             Basic Architecture
   Versions:
             1.2 Beta

   Assignee: 
   Reporter: Thomas Boerkel

    Created: Tue, 13 Apr 2004 6:04 AM
    Updated: Tue, 13 Apr 2004 6:05 AM
Environment: Windows 2000 server, JDK 1.4.2_03, .NET 1.1, Axis 1.2 Beta

Description:
I was able to return an array from an Axis 1.1 RC2 server to a .NET 1.1 client without problems. 

With Axis 1.2 beta, the .NET client throws an exception:
System.InvalidOperationException: There is an error in XMLdocument (5, 5). ---> System.InvalidOperationException: The specified type as not recognized: name='string', namespace='http://schemas.xmlsoap.org/soap/encoding/', at <arrayTestReturn xmlns=''>.

I don't know, if this is a bug in Axis or .NET, but I think the interop is very important, so even a workaround in Axis for a .NET bug should be considered, until MS fixes their bug.

This is the response XML from Axis 1.1 RC2:
<?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>
  <ns1:arrayTestResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://p2test.p2plus.apag.com">
   <arrayTestReturn xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[3]" xmlns:ns2="http://www.w3.org/2002/12/soap-encoding" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <item>5</item>
    <item>6</item>
    <item>7</item>
   </arrayTestReturn>
  </ns1:arrayTestResponse>
 </soapenv:Body>
</soapenv:Envelope>

And this from Axis 1.2 beta:
<?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>
  <ns1:arrayTestResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://p2test.p2plus.apag.com">
   <arrayTestReturn soapenc:arrayType="soapenc:string[3]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <item xsi:type="soapenc:string">5</item>
    <item xsi:type="soapenc:string">6</item>
    <item xsi:type="soapenc:string">7</item>
   </arrayTestReturn>
  </ns1:arrayTestResponse>
 </soapenv:Body>
</soapenv:Envelope>

This is the Java method signature:
  public String[] arrayTest(int[] numbers)

We do not use deployment and we do not use Tomcat, but something like this:
      axisServer = new AxisServer(new NullProvider());
      axisServer.init();
      msg = new Message(xml);
      msgContext = new MessageContext(axisServer);
      msgContext.setRequestMessage(msg);
      service = getService(completeName);
      msgContext.setService(service);
      axisServer.invoke(msgContext);
      msg = msgContext.getResponseMessage();
      xml= msg.getSOAPPartAsString();



If I use
service.setStyle(Style.WRAPPED)
service.setUse(Use.LITERAL)

Then this is the response from Axis:
<?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>
  <arrayTestResponse xmlns="http://p2test.p2plus.apag.com">
   <arrayTestReturn>5</arrayTestReturn>
   <arrayTestReturn>6</arrayTestReturn>
   <arrayTestReturn>7</arrayTestReturn>
  </arrayTestResponse>
 </soapenv:Body>
</soapenv:Envelope>

and .NET returns NULL to the client code.

Attaching Axis 1.1 RC2 WSDL and 1.2 Beta WSDL (almost identical, besides the namespace desclaration).



---------------------------------------------------------------------
JIRA INFORMATION:
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

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira