cancel
Showing results for 
Search instead for 
Did you mean: 

WSDL error ... please help !

Former Member
0 Kudos

Hi,

I'm going crazy trying to find what is wrong with this wsdl. Note that it is generated by axis.

When I try to generate a proxy for it , I get this error :

WSDL part <firstname> points to unavailable type with qname: <string>

It points me to getPerson firstname ... but I don't see what is wrong with the way it is defined...

If you can help , it would be really appreciated !!!!

Thierry

<?xml version="1.0" encoding="UTF-8" ?>

<wsdl:definitions targetNamespace="http://localhost:8080/axis/services/EmployeeWebService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/EmployeeWebService" xmlns:intf="http://localhost:8080/axis/services/EmployeeWebService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:testaxis" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<!--

WSDL created by Apache Axis version: 1.4

Built on Apr 22, 2006 (06:55:48 PDT)

-->

<wsdl:types>

<schema targetNamespace="urn:testaxis" xmlns="http://www.w3.org/2001/XMLSchema">

<import namespace="http://localhost:8080/axis/services/EmployeeWebService" />

<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />

<complexType name="Person">

<sequence>

<element name="firstname" nillable="true" type="xsd:string" />

<element name="lastName" nillable="true" type="xsd:string" />

</sequence>

</complexType>

</schema>

<schema targetNamespace="http://localhost:8080/axis/services/EmployeeWebService" xmlns="http://www.w3.org/2001/XMLSchema">

<import namespace="urn:testaxis" />

<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />

<complexType name="ArrayOf_tns1_Person">

<complexContent>

<restriction base="soapenc:Array">

<attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Person[]" />

</restriction>

</complexContent>

</complexType>

</schema>

</wsdl:types>

<wsdl:message name="getPersonRequest">

<wsdl:part name="firstname" type="soapenc:string" />

<wsdl:part name="lastName" type="soapenc:string" />

</wsdl:message>

<wsdl:message name="getPersonsRequest" />

<wsdl:message name="getPersonsResponse">

<wsdl:part name="getPersonsReturn" type="impl:ArrayOf_tns1_Person" />

</wsdl:message>

<wsdl:message name="getPersonResponse">

<wsdl:part name="getPersonReturn" type="tns1:Person" />

</wsdl:message>

<wsdl:portType name="MyWebServiceClass">

<wsdl:operation name="getPerson" parameterOrder="firstname lastName">

<wsdl:input message="impl:getPersonRequest" name="getPersonRequest" />

<wsdl:output message="impl:getPersonResponse" name="getPersonResponse" />

</wsdl:operation>

<wsdl:operation name="getPersons">

<wsdl:input message="impl:getPersonsRequest" name="getPersonsRequest" />

<wsdl:output message="impl:getPersonsResponse" name="getPersonsResponse" />

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="EmployeeWebServiceSoapBinding" type="impl:MyWebServiceClass">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />

<wsdl:operation name="getPerson">

<wsdlsoap:operation soapAction="" />

<wsdl:input name="getPersonRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testaxis.hydroquebec.com" use="encoded" />

</wsdl:input>

<wsdl:output name="getPersonResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/EmployeeWebService" use="encoded" />

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="getPersons">

<wsdlsoap:operation soapAction="" />

<wsdl:input name="getPersonsRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://testaxis.hydroquebec.com" use="encoded" />

</wsdl:input>

<wsdl:output name="getPersonsResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/EmployeeWebService" use="encoded" />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="MyWebServiceClassService">

<wsdl:port binding="impl:EmployeeWebServiceSoapBinding" name="EmployeeWebService">

<wsdlsoap:address location="http://localhost:8080/axis/services/EmployeeWebService" />

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

Edited by: Thierry Dagnino on Feb 25, 2009 2:02 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

hi,

just a guess: it might have to do with the fact that the attribute parameterOrder used in operation getPerson is not supported. Try to get rid of it on the service side (doesn't make much sense anyway for 2 parameters) and try to create the proxy again.

maybe it helps,

anton