Axis
  1. Axis
  2. AXIS-2454

Using Arrays results in malformed XML ([0,unbounded]) - Using Doc-Literal Wrapped

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Blocker Blocker
    • Resolution: Unresolved
    • Affects Version/s: 1.3
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      Tomcat 5.5, Sun JDK 1.5.06 on Linux

      Description

      Axis 1.3 is encoding my Array-enabled messages with malformed/broken XML (example below). This problem has been reported before in slightly modified ways, but for the CastorSerializer (which I am not using). For more on that see bug #AXIS-2135 in this system.

      I am probably using standard serializers, as I'm just trying to return an unbounded array from the service. My service uses the Doc-Literal/Wrapped style. Returning an array results in the following type of return structure:

      <myType[0,unbounded]>
      <stuff ... />
      </myType[0,unbounded]>
      <myType[0,unbounded]>
      <stuff ... />
      </myType[0,unbounded]>

      (A full example is below.)

      The WSDL snippet that produces this is:

      <xsd:element name="getAlarmListResponse">
      <xsd:complexType>
      <xsd:sequence>
      <xsd:element ref="tns:alarm" maxOccurs="unbounded" minOccurs="0"></xsd:element>
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>

      <xsd:element name="alarm" nillable="true">
      <xsd:complexType>
      <xsd:sequence>
      <xsd:element name="alarmTime" type="xsd:long" nillable="false"></xsd:element>
      <xsd:element name="latestEventTime" type="xsd:long" nillable="false"></xsd:element>
      <xsd:element name="lastUpdateTime" type="xsd:long" nillable="false"></xsd:element>
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
      --------------------------------------------

      Thanks for any help you can provide with this. We have a major production implementation that is stopped while we attempt to work around this issue.

      --------------------------------------------

      Here is a detailed example of the the SOAP response we are receiving from the Axis 1.3 server:

      HTTP/1.1 200 OK
      Server: Apache-Coyote/1.1
      Content-Type: text/xml;charset=utf-8
      Date: Thu, 30 Mar 2006 05:10:54 GMT
      Connection: close

      <?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>
      <getAlarmListResponse xmlns="http://vtracsystems.net/ResponseCenterService">
      <alarm[0,unbounded]>
      <alarmTime xmlns="">1142220126</alarmTime>
      <latestEventTime xmlns="">1142220265</latestEventTime>
      <lastUpdateTime xmlns="">1142220265</lastUpdateTime>
      </alarm[0,unbounded]>
      <alarm[0,unbounded]>
      <alarmTime xmlns="">1142220266</alarmTime>
      <latestEventTime xmlns="">1142220508</latestEventTime>
      <lastUpdateTime xmlns="">1142220508</lastUpdateTime>
      </alarm[0,unbounded]>
      <alarm[0,unbounded]>
      <alarmTime xmlns="">1142220901</alarmTime>
      <latestEventTime xmlns="">1142221208</latestEventTime>
      <lastUpdateTime xmlns="">1142221208</lastUpdateTime>
      </alarm[0,unbounded]>
      </getAlarmListResponse>
      </soapenv:Body>
      </soapenv:Envelope>

      1. ArraySerializer.java
        21 kB
        Eric Schwarzenbach

        Activity

        Hide
        Greg Tassone added a comment -

        FYI: There is a patch in the referenced bug for that particular case of this problem. It may be helpful to you in determining the cause of the problem, and possibly for fixing this one as well.

        Show
        Greg Tassone added a comment - FYI: There is a patch in the referenced bug for that particular case of this problem. It may be helpful to you in determining the cause of the problem, and possibly for fixing this one as well.
        Hide
        Eric Schwarzenbach added a comment -

        When I had this sympton and the patch for the other bug didn't help me, I debugged it and was able to fix the problem by patching org.apache.axis.encoding.ser.ArraySerializer. I meant to submit it as a patch but I'm afraid I got busy and never got back to it (nor am I confident my patch fixes it the right place, or whether it has an earlier source). In case it helps, I'm attaching my version of the file.

        Show
        Eric Schwarzenbach added a comment - When I had this sympton and the patch for the other bug didn't help me, I debugged it and was able to fix the problem by patching org.apache.axis.encoding.ser.ArraySerializer. I meant to submit it as a patch but I'm afraid I got busy and never got back to it (nor am I confident my patch fixes it the right place, or whether it has an earlier source). In case it helps, I'm attaching my version of the file.
        Hide
        Eric Schwarzenbach added a comment -

        possible fix

        Show
        Eric Schwarzenbach added a comment - possible fix

          People

          • Assignee:
            Unassigned
            Reporter:
            Greg Tassone
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development