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 Zelidrag Hornung <zh...@realnames.com> on 2002/03/19 00:23:09 UTC

FW: .NET/AXIS Interoperability Issue

Folks,

I am not sure if I am addressing this issue to the right newsgroup, but I
hope someone might be able to help me. I made a simple web service in .NET
that is described by following WSDL (see below). When I try to map its to
Java object by using wsdl2java, it looks that every time when I have an
array of a complex element, the tool can't map that properly into an object.
Has anyone else run into something similar?


<?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://tempuri.org/"
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://tempuri.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
  <types>
    <s:schema elementFormDefault="qualified"
targetNamespace="http://tempuri.org/">
      <s:element name="ComplexArrayMethod">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="cs1"
type="s0:CompStruct2" />
            <s:element minOccurs="0" maxOccurs="1" name="cs2"
type="s0:ArrayOfCompStruct3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CompStruct2">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="cs2_double_member"
type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="cs2_string_member"
type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfCompStruct3">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="CompStruct3"
nillable="true" type="s0:CompStruct3" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CompStruct3">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="cs2_double_member"
type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="cs2_string_member"
type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="ComplexArrayMethodResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1"
name="ComplexArrayMethodResult" type="s0:ArrayOfCompStruct1" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfCompStruct1">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="CompStruct1"
nillable="true" type="s0:CompStruct1" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CompStruct1">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="cs1_str_member1"
type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="cs1_int_member2"
type="s:int" />
        </s:sequence>
      </s:complexType>
    </s:schema>
  </types>
  <message name="ComplexArrayMethodSoapIn">
    <part name="parameters" element="s0:ComplexArrayMethod" />
  </message>
  <message name="ComplexArrayMethodSoapOut">
    <part name="parameters" element="s0:ComplexArrayMethodResponse" />
  </message>
  <portType name="Service1Soap">
    <operation name="ComplexArrayMethod">
      <documentation>Test Web Method</documentation>
      <input message="s0:ComplexArrayMethodSoapIn" />
      <output message="s0:ComplexArrayMethodSoapOut" />
    </operation>
  </portType>
  <portType name="Service1HttpGet" />
  <portType name="Service1HttpPost" />
  <binding name="Service1Soap" type="s0:Service1Soap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
    <operation name="ComplexArrayMethod">
      <soap:operation soapAction="http://tempuri.org/ComplexArrayMethod"
style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <binding name="Service1HttpGet" type="s0:Service1HttpGet">
    <http:binding verb="GET" />
  </binding>
  <binding name="Service1HttpPost" type="s0:Service1HttpPost">
    <http:binding verb="POST" />
  </binding>
  <service name="Service1">
    <port name="Service1Soap" binding="s0:Service1Soap">
      <soap:address location="http://localhost/TestAxis/Service1.asmx" />
    </port>
    <port name="Service1HttpGet" binding="s0:Service1HttpGet">
      <http:address location="http://localhost/TestAxis/Service1.asmx" />
    </port>
    <port name="Service1HttpPost" binding="s0:Service1HttpPost">
      <http:address location="http://localhost/TestAxis/Service1.asmx" />
    </port>
  </service>
</definitions>