You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2002/10/25 20:46:16 UTC

DO NOT REPLY [Bug 13980] New: - WSDL2Java produces wrapper bean for arrays for WSDL from wrapped doc/lit service

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13980>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13980

WSDL2Java produces wrapper bean for arrays for WSDL from wrapped doc/lit service

           Summary: WSDL2Java produces wrapper bean for arrays for WSDL from
                    wrapped doc/lit service
           Product: Axis
           Version: 1.0
          Platform: All
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: WSDL processing
        AssignedTo: axis-dev@xml.apache.org
        ReportedBy: cyongtan@hotmail.com


I created a .NET service (defaults to wrapped doc/lit) with 
a method that accepts a single parameter of string[]. Then 
used WSDL2Java to create Axis client. 

The method signature that WSDL2Java produced for the method 
is a bean that has a single property of a String[] instead of 
a String[] by itself. 

It does work but the wrapper bean makes programming rather 
inconvenient.

(This bug is also reproducible in nightly build of 10-19-2002)

======================================================================
Here is the WSDL produced by .NET.
=======================================================================

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:s="http://www.w3.org/2001/XMLSchema" 
xmlns:s0="http://www.develop.com/webservices/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
targetNamespace="http://www.develop.com/webservices/" 
xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <s:schema elementFormDefault="qualified" 
targetNamespace="http://www.develop.com/webservices/">
      <s:element name="Decode">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="inMsg" 
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DecodeResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DecodeResult" 
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Encode">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="inMsg" 
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="EncodeResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="EncodeResult" 
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="echoStringArray">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="theArray" 
type="s0:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" 
nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="echoStringArrayResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="echoStringArrayResult" 
type="s0:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </types>
  <message name="DecodeSoapIn">
    <part name="parameters" element="s0:Decode" />
  </message>
  <message name="DecodeSoapOut">
    <part name="parameters" element="s0:DecodeResponse" />
  </message>
  <message name="EncodeSoapIn">
    <part name="parameters" element="s0:Encode" />
  </message>
  <message name="EncodeSoapOut">
    <part name="parameters" element="s0:EncodeResponse" />
  </message>
  <message name="echoStringArraySoapIn">
    <part name="parameters" element="s0:echoStringArray" />
  </message>
  <message name="echoStringArraySoapOut">
    <part name="parameters" element="s0:echoStringArrayResponse" />
  </message>
  <portType name="EncoderSoap">
    <operation name="Decode">
      <input message="s0:DecodeSoapIn" />
      <output message="s0:DecodeSoapOut" />
    </operation>
    <operation name="Encode">
      <input message="s0:EncodeSoapIn" />
      <output message="s0:EncodeSoapOut" />
    </operation>
    <operation name="echoStringArray">
      <input message="s0:echoStringArraySoapIn" />
      <output message="s0:echoStringArraySoapOut" />
    </operation>
  </portType>
  <binding name="EncoderSoap" type="s0:EncoderSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" />
    <operation name="Decode">
      <soap:operation soapAction="http://www.develop.com/webservices/Decode" 
style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="Encode">
      <soap:operation soapAction="http://www.develop.com/webservices/Encode" 
style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="echoStringArray">
      <soap:operation 
soapAction="http://www.develop.com/webservices/echoStringArray" 
style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="Encoder">
    <port name="EncoderSoap" binding="s0:EncoderSoap">
      <soap:address location="http://localhost/NET/docLiteral/encode.asmx" />
    </port>
  </service>
</definitions>