Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-1308

Axis 1.2 beta and .NET 1.1: Problem with arrays

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.2 Beta
    • 1.2
    • Basic Architecture
    • None
    • 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).

      Attachments

        1. SoapTest.WSDL
          20 kB
          Thomas Boerkel
        2. SoapTest_12Beta.wsdl
          20 kB
          Thomas Boerkel
        3. SoapTest_11RC2.wsdl
          21 kB
          Thomas Boerkel
        4. cdx.wsdl
          12 kB
          Andy Micone

        Activity

          People

            dims Davanum Srinivas
            tboerkel Thomas Boerkel
            Votes:
            6 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: