本帖最后由 wkhegx 于 2014-06-18 15:15:03 编辑 在php的一个项目里面,有一个wsdl格式的文件,打开里面的代码是这样的,虽然看得懂英文的意思,但是我看不懂这个代码有什么用,放在项目的根目录下起什么作用,它如何运行的?请给我详细说下,谢谢。。
<?xml version='1.0' encoding='UTF-8'?><br /><br /><!-- WSDL file generated by Zend Studio. --><br /><br /><definitions name="soap" targetNamespace="urn:soap" xmlns:typens="urn:soap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"><br /> <message name="auth"><br /> <part name="email" type="xsd:string"/><br /> <part name="password" type="xsd:string"/><br /> </message><br /> <message name="authResponse"><br /> <part name="authReturn" type="xsd:boolean"/><br /> </message><br /> <message name="latest"><br /> <part name="date" type="xsd:integer"/><br /> </message><br /> <message name="latestResponse"><br /> <part name="latestReturn" type="xsd:string"/><br /> </message><br /> <message name="send"><br /> <part name="email" type="xsd:string"/><br /> <part name="password" type="xsd:string"/><br /> <part name="message" type="xsd:string"/><br /> </message><br /> <message name="sendResponse"><br /> <part name="sendReturn" type="xsd:boolean"/><br /> </message><br /> <portType name="chatPortType"><br /> <operation name="auth"><br /> <input message="typens:auth"/><br /> <output message="typens:authResponse"/><br /> </operation><br /> <operation name="latest"><br /> <input message="typens:latest"/><br /> <output message="typens:latestResponse"/><br /> </operation><br /> <operation name="send"><br /> <input message="typens:send"/><br /> <output message="typens:sendResponse"/><br /> </operation><br /> </portType><br /> <binding name="chatBinding" type="typens:chatPortType"><br /> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><br /> <operation name="auth"><br /> <soap:operation soapAction="urn:chatAction"/><br /> <input><br /> <soap:body namespace="urn:soap" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><br /> </input><br /> <output><br /> <soap:body namespace="urn:soap" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><br /> </output><br /> </operation><br /> <operation name="latest"><br /> <soap:operation soapAction="urn:chatAction"/><br /> <input><br /> <soap:body namespace="urn:soap" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><br /> </input><br /> <output><br /> <soap:body namespace="urn:soap" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><br /> </output><br /> </operation><br /> <operation name="send"><br /> <soap:operation soapAction="urn:chatAction"/><br /> <input><br /> <soap:body namespace="urn:soap" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><br /> </input><br /> <output><br /> <soap:body namespace="urn:soap" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><br /> </output><br /> </operation><br /> </binding><br /> <service name="soapService"><br /> <port name="chatPort" binding="typens:chatBinding"><br /> <soap:address location=""/><br /> </port><br /> </service><br /></definitions><br />
------解决方案--------------------这是 Web Service 使用的,与客户沟通用说明文件
他告知用户,本 Web Service 提供了如下方法:
[0] => boolean auth(string $email, string $password)
[1] => string latest(integer $date)
[2] => boolean send(string $email, string $password, string $message)
------解决方案--------------------Web Service 是服务器,使用 SOAP 协议
服务端使用 SoapServer 类形成服务
客户端通过 SoapClient 类进行访问
解析 WSDL 可由
SoapClient::__getFunctions
SoapClient::__getTypes
方法进行
相关文件你的项目应该都提供了,你可以通过搜索包含“WSDL”字样的文件,找到他们