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 Andreas Leitner <no...@sbox.tugraz.at> on 2002/08/08 11:31:58 UTC

Axis -> .NET: Datatyp Array not known ?

Hi there,

I have found another problem. Given the following class:

public class Server
{
    public Server ()
    {
    }

    public LinkedList getAllClients ()
    {
        return null;
    }
}

Axis generates the following WSDL file for me:
--
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://excelsior:11016/axis/services/vip/axis/services/vip" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://excelsior:11016/axis/services/vip/axis/services/vip-impl" xmlns:intf="http://excelsior:11016/axis/services/vip/axis/services/vip" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:types><schema targetNamespace="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://www.w3.org/2001/XMLSchema"><import namespace="http://schemas.xmlsoap.org/soap/encoding/"/><element name="Array" nillable="true" type="soapenc:Array"/></schema></wsdl:types>
  <wsdl:message name="getAllClientsRequest">
  </wsdl:message>
  <wsdl:message name="getAllClientsResponse">
    <wsdl:part name="return" type="soapenc:Array"/>
  </wsdl:message>
  <wsdl:portType name="Server">
    <wsdl:operation name="getAllClients">
      <wsdl:input message="intf:getAllClientsRequest" name="getAllClientsRequest"/>

      <wsdl:output message="intf:getAllClientsResponse" name="getAllClientsResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="vipSoapBinding" type="intf:Server">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getAllClients">
      <wsdlsoap:operation soapAction=""/>
      <wsdl:input name="getAllClientsRequest">
        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://excelsior:11016/axis/services/vip/axis/services/vip" use="encoded"/>

      </wsdl:input>
      <wsdl:output name="getAllClientsResponse">
        <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://excelsior:11016/axis/services/vip/axis/services/vip" use="encoded"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ServerService">
    <wsdl:port binding="intf:vipSoapBinding" name="vip">
      <wsdlsoap:address location="http://excelsior:11016/axis/services/vip"/>

    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
--

Now using wsdl.exe on the Windows side only gives me an error saying it cannot produce a client stub, because the datatyp array is not known. Does anybody know what is wrong here?

Is it a good idea at all to rely on Java2WSDL and wsdl.exe? The more I experiment the more I think of designing my own XML data format, which will then generate the server and client stubs. That format could also hold information on how to store and retrieve the bean in question from a Database...

tia,
Andreas