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

document/literal array items do not have same element name as defined in dynamically generated wsdl

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 1.3, 1.4
    • None
    • Windows 2003 Server, BEA Weblogic 10

    Description

      I have a web service that returns an array of elements.
      The dynamically generated wsdl is correct...each element of the array should have the name "item" as defined:

      <complexType name="ArrayOf_SignatureType">
      <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="item" type="tns3:SignatureType"/>
      </sequence>
      </complexType>

      However, when invoking the service, Axis returns each item in the array with the element name of its parent! like so:

      <signatures>
      <signatures xsi:type="ns4:ProjSignatureType" xmlns:ns4="http://signatures.approvals.apps.mis.jlab.org">
      <abbrev>PROJ</abbrev>
      <projAbbrev>ITGEN</projAbbrev>
      </signatures>
      <signatures xsi:type="ns5:OrgSignatureType" xmlns:ns5="http://signatures.approvals.apps.mis.jlab.org">
      <abbrev>ORG</abbrev>
      <orgAbbrev>ITO</orgAbbrev>
      </signatures>
      </signatures>

      This makes it impossible to use Axis 1.3/4 with dynamically generated WSDL's because the client expects elements of name "item" and gets elements that are of the same name as the parent!

      We need either the WSDL generation to have the correct array element names, or the service to create the correct names.

      To work around this issue, I have to change the Axis source code and rebuild using Ant or I have to create a WSDL by hand and change it so that the array elements are what Axis sends .... (this is difficult to manage in development/production enviroments because the wsdlsoap:address always needs to be changed and I can't deploy the same WAR in both places without changing the WSDL).

      It seems that this has been an open issue since Axis version 1.3.....is anyone going to fix?

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            svnfightsvn Bobby Lawrence

            Dates

              Created:
              Updated:

              Slack

                Issue deployment