可能的最小有效WSDL服务定义文件是什么?它应该被PHP的SoapClient
接受。
答案 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