X
X
XpeH Petrovich2015-02-12 19:15:06
Eclipse
XpeH Petrovich, 2015-02-12 19:15:06

Why is WSDL not validating in Eclipse?

Gentlemen and possibly ladies... Please help me with the validity of the WSDL. Passport - the simplest, I will give the code.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/auth/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="auth" targetNamespace="http://localhost/auth/">
  <wsdl:types>
    <xsd:schema targetNamespace="http://localhost/auth">
      <xsd:element name="login">
        <xsd:complexType>
          <xsd:sequence>
          	<xsd:element name="id" type="xsd:int" />
          	<xsd:element name="login" type="xsd:string"></xsd:element>
          	<xsd:element name="password" type="xsd:string"></xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="loginResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="out" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="loginRequest">
    <wsdl:part name="parameters" element="tns:login"/>
  </wsdl:message>
  <wsdl:message name="loginResponse">
    <wsdl:part name="parameters" element="tns:loginResponse"/>
  </wsdl:message>
  <wsdl:portType name="auth">
    <wsdl:operation name="login">
      <wsdl:input message="tns:loginRequest"/>
      <wsdl:output message="tns:loginResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="authSOAP" type="tns:auth">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="login">
      <soap:operation soapAction="http://localhost/auth/login"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="auth">
    <wsdl:port binding="tns:authSOAP" name="authSOAP">
      <soap:address location="http://localhost/auth/auth.php"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Writes respectively two errors, one type.
First block:
<wsdl:message name="loginRequest">
    <wsdl:part name="parameters" element="tns:login"/>
  </wsdl:message>

The part 'parameters' has an invalid value 'login' defined for its element. Element declarations must refer to valid values ​​defined in a schema

Second block:
<wsdl:message name="loginResponse">
    <wsdl:part name="parameters" element="tns:loginResponse"/>
  </wsdl:message>

The part 'parameters' has an invalid value 'loginResponse' defined for its element. Element declarations must refer to valid values ​​defined in a schema

How can this be given that they are defined in this document???
PS: SoapUI gives out nonsense, see below.
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:auth="http://localhost/auth/">
   <soapenv:Header/>
   <soapenv:Body>
      <auth:login/>
   </soapenv:Body>
</soapenv:Envelope>

Answer:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultcode>SOAP-ENV:Server</faultcode>
         <faultstring>Procedure 'login' not present</faultstring>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

UPD: The function takes ID, login and password as input, in response it gives out just a string (for now, but this is not the point).
UPD2: WSDL Generated in Eclipse Luna, in SoapUI the request was not ruled by hand.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question