You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Cun Yong Tan <cy...@hotmail.com> on 2002/04/03 21:33:14 UTC

Map type and .NET interoperability

Hello,

I have an Axis service that have a single method that returns a Map:

public class ss
{
  public Map echoMap()
  {
    HashMap mapOut = new HashMap();
    mapOut.put("key", "value");
    return mapOut;
  }
}

.NET's wsdl.exe tool is not able to generate a client proxy from
the WSDL for this service. The WSDL (show below) was generated by
   http://localhost:8080/axis/services/ss?wsdl.

Has anyone else have interoperability problems with using Java Map as
parameter and/or return value ?  Is the Map type an Axis only thing ?

Thanks for any help or workarounds.


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
  targetNamespace="http://localhost:8080/axis/services/ss"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:impl="http://localhost:8080/axis/services/ss-impl"
    xmlns:intf="http://localhost:8080/axis/services/ss"
    xmlns:tns1="http://xml.apache.org/xml-soap"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <types>
  <schema targetNamespace="http://xml.apache.org/xml-soap"
    xmlns="http://www.w3.org/2001/XMLSchema">
      <complexType name="Map">
        <sequence>
          <element maxOccurs="unbounded" minOccurs="0" name="item">
             <complexType>
                <all>
                   <element name="key" type="xsd:anyType"/>
                   <element name="value" type="xsd:anyType"/>
                 </all>
              </complexType>
           </element>
         </sequence>
       </complexType>
	   <element name="Map" nillable="true" type="tns1:Map"/>
   </schema>
  </types>
  <wsdl:message name="echoMapResponse">
    <wsdl:part name="return" type="tns1:Map"/>
  </wsdl:message>
  <wsdl:message name="echoMapRequest">
  </wsdl:message>
  <wsdl:portType name="ss">
    <wsdl:operation name="echoMap">
      <wsdl:input message="intf:echoMapRequest"/>
      <wsdl:output message="intf:echoMapResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ssSoapBinding" type="intf:ss">
    <wsdlsoap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="echoMap">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input>
        <wsdlsoap:body 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
namespace="http://localhost:8080/axis/services/ss" use="encoded"/>
      </wsdl:input>
      <wsdl:output>
        <wsdlsoap:body 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
namespace="http://localhost:8080/axis/services/ss" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ssService">
    <wsdl:port binding="intf:ssSoapBinding" name="ss">
      <wsdlsoap:address location="http://localhost:8080/axis/services/ss"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx