I'm using Axis 1.3 final and have a WSDL (doc/lit) provided by a 3rd party I need to use.  The operation returns a ProfileList:
        <element name="ProfileList">
        <complexType>
         <sequence>
          <element name="profile" type="impl:Profile" minOccurs="0" maxOccurs="unbounded" />
         </sequence>
        </complexType>
        </element>
....

   <wsdl:message name="replyProfiles">
      <wsdl:part element="impl:ProfileList" name="part"/>
   </wsdl:message>
....

I run WSDL2Java, deploy and get the Axis WSDL from the ?WSDL url.  It appears that Axis has renamed my elements:

<element name="ProfileList">
    <complexType>
    <sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Profile"/>
</sequence>
</complexType>
</element>


Why did Axis rename my element?  I've tried using different names just in case it thought there was a name collision, but it always renames it to 'item'.  If I add a second element into the sequence, the renaming does not occur.  Unfortunately, I don't have much flexibility on the WSDL...

here's how I'm invoking wsdl2java:
        <axis-wsdl2java output="${gensrc}" testcase="true" verbose="true"
            serverside="true" skeletondeploy="true"
            url="">             <mapping namespace="http://mediaservice.customer.com"
                  package="com.foo.bar.stub"/>
        </axis-wsdl2java>

Everything looks correct in the generated code and it does work properly when using axis client and axis server.


Reply via email to