IBM Support

PM26061: Allow two-dimensional XML arrays to be serialized as a series of arrays for JAX-RPC applications.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as new function.

Error description

  • A WSDL schema can define a two-dimensional XML array type like
    the following:
    
    <complexType
    name="ArrayOfStringArray">
    <complexContent>
    <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType"
    wsdl:arrayType="xsd:string[][]"/>
    </restriction>
    </complexContent>
    </complexType>
    
    The JAX-RPC runtime would then serialize the XML array in a
    structure like the following:
    
    <p565:sayHelloResponse xmlns:p565="http://ibm.com">
    <sayHelloReturn xsi:type="soapenc:Array"
    soapenc:arrayType="xsd:string[2,3]">
    <item xsi:type="xsd:string">array1 element1</item>
    <item xsi:type="xsd:string">array1 element2</item>
    <item xsi:type="xsd:string">array1 element3</item>
    <item xsi:type="xsd:string">array2 element1</item>
    <item xsi:type="xsd:string">array2 element2</item>
    <item xsi:type="xsd:string">array2 element3</item>
    </sayHelloReturn>
    
    This is a list of all elements, which is a valid format.
    
    However, some Web service runtimes, such as Microsoft .Net,
    cannot consume a two-dimensional array in this format.
    

Local fix

  • Using AXIS engine.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of IBM WebSphere Application Server   *
    *                  V7.0 JAX-RPC applications sending           *
    *                  two-dimensional XML arrays                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: Allow two-dimensional XML arrays to     *
    *                      be serialized as a series of arrays.    *
    ****************************************************************
    * RECOMMENDATION:  Install a fix pack that includes this       *
    *                  APAR.                                       *
    ****************************************************************
    A WSDL schema can define a two-dimensional XML array type like
    the following:
    
       <complexType
    name="ArrayOfStringArray">
        <complexContent>
         <restriction base="soapenc:Array">
          <attribute ref="soapenc:arrayType"
    wsdl:arrayType="xsd:string[][]"/>
         </restriction>
        </complexContent>
       </complexType>
    
    The JAX-RPC runtime would then serialize the XML array in a
    structure like the following:
    
      <p565:sayHelloResponse xmlns:p565="http://ibm.com">
        <sayHelloReturn xsi:type="soapenc:Array"
    soapenc:arrayType="xsd:string[2,3]">
          <item xsi:type="xsd:string">array1 element1</item>
          <item xsi:type="xsd:string">array1 element2</item>
          <item xsi:type="xsd:string">array1 element3</item>
          <item xsi:type="xsd:string">array2 element1</item>
          <item xsi:type="xsd:string">array2 element2</item>
          <item xsi:type="xsd:string">array2 element3</item>
        </sayHelloReturn>
      </p565:sayHelloResponse>
    
    This is a list of all elements, which is a valid format.
    
    However, some Web service runtimes, such as Microsoft .Net,
    cannot consume a two-dimensional array in this format.
    

Problem conclusion

  • The JAX-RPC runtime was changed to allow two-dimensional XML
    arrays to be serialized as a series of arrays.
    
    For example:
    
    <p565:sayHelloResponse xmlns:p565="http://ibm.com">
    <sayHelloReturn xsi:type="soapenc:Array"
    soapenc:arrayType="xsd:string[][2]">
    <item soapenc:arrayType="xsd:string[3]">
    <item>array1 element1</item>
    <item>array1 element2</item>
    <item>array1 element3</item>
    </item>
    <item soapenc:arrayType="xsd:string[3]">
    <item>array2 element1</item>
    <item>array2 element2</item>
    <item>array2 element3</item>
    </item>
    </sayHelloReturn>
    </p565:sayHelloResponse>
    
    This is an array of two arrays, with each array containing
    three elements.
    
    This format is enabled by setting a custom JVM property named
    "com.ibm.ws.webservices.serialize.2DimArray.asArrays" to
    "true".
    
    For more information about configuring custom JVM properties,
    see the Information Center article "Java virtual machine
    custom properties" for your release and operating system.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.17.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM26061

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-11-08

  • Closed date

    2010-12-01

  • Last modified date

    2010-12-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R700 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PM26061

Modified date: 01 December 2010