什么是最低有效WSDL?

时间:2016-07-19 20:23:22

标签: php wsdl

可能的最小有效WSDL服务定义文件是什么?它应该被PHP的SoapClient接受。

2 个答案:

答案 0 :(得分:0)

实际上并没有“最小”有效的WSDL。

根据定义,WSDL必须包含API使用的任何数据类型,消息,服务等的定义-这样的“最少” WSDL取决于它定义的API的功能。

也许您可以解释为什么,但您想要一个“最小”的WSDL,以便有人可以提供更好的建议。

答案 1 :(得分:0)

O'Reilly有一个基本示例-仅公开了一个'sayHello'方法:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HelloService" targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl">
   <message name="SayHelloRequest">
      <part name="firstName" type="xsd:string" />
   </message>
   <message name="SayHelloResponse">
      <part name="greeting" type="xsd:string" />
   </message>
   <portType name="Hello_PortType">
      <operation name="sayHello">
         <input message="tns:SayHelloRequest" />
         <output message="tns:SayHelloResponse" />
      </operation>
   </portType>
   <binding name="Hello_Binding" type="tns:Hello_PortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
      <operation name="sayHello">
         <soap:operation soapAction="sayHello" />
         <input>
            <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded" />
         </input>
         <output>
            <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded" />
         </output>
      </operation>
   </binding>
   <service name="Hello_Service">
      <documentation>WSDL File for HelloService</documentation>
      <port binding="tns:Hello_Binding" name="Hello_Port">
         <soap:address location="http://localhost:8080/soap/servlet/rpcrouter" />
      </port>
   </service>
</definitions>

[1] https://www.safaribooksonline.com/library/view/web-services-essentials/0596002246/ch06s02.html