php wsdl客户端服务端示例
2016-06-22 13:00
603 查看
wsdl文件代码:
wsdl.wsdl
客户端代码:
client.php
wsdl.wsdl
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="iptv" xmlns:impl="iptv" xmlns:intf="iptv" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="iptv"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="CSPResult"> <sequence> <element name="Result" type="xsd:int"/> <element name="ErrorDescription" nillable="true" type="soapenc:string"/> </sequence> </complexType> </schema> </wsdl:types> <wsdl:message name="ExecCmdRequest"> <wsdl:part name="CSPID" type="soapenc:string"/> <wsdl:part name="LSPID" type="soapenc:string"/> <wsdl:part name="CorrelateID" type="soapenc:string"/> <wsdl:part name="CmdFileURL" type="soapenc:string"/> </wsdl:message> <wsdl:message name="ExecCmdResponse"> <wsdl:part name="ExecCmdReturn" type="impl:CSPResult"/> </wsdl:message> <wsdl:portType name="CSPRequest"> <wsdl:operation name="ExecCmd" parameterOrder="CSPID LSPID CorrelateID CmdFileURL"> <wsdl:input name="ExecCmdRequest" message="impl:ExecCmdRequest"/> <wsdl:output name="ExecCmdResponse" message="impl:ExecCmdResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ctmsSoapBinding" type="impl:CSPRequest"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="ExecCmd"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="ExecCmdRequest"> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="iptv"/> </wsdl:input> <wsdl:output name="ExecCmdResponse"> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="iptv"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CSPRequestService"> <wsdl:port name="ctms" binding="impl:ctmsSoapBinding"> <wsdlsoap:address location="http://127.0.0.1/service.php"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
客户端代码:
client.php
<?php $xmlftp = 'demo.xml'; $correlateID = '123456789'; $wsdldir = "wsdl.wsdl"; $cspid = "123456"; $lspid = "654321"; $client = new SoapClient($<span style="font-family: Arial, Helvetica, sans-serif;">wsdldir</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span> $result = $client->ExecCmd($cspid, $lspid, $correlateID, $xmlftp); $savearr['syncresult'] = $result->Result; $savearr['syncdescription'] = $result->ErrorDescription; var_dump($savearr);
</pre><p&g 4000 t;</p><p>服务端代码:</p><p>service.php</p><p></p><pre name="code" class="php"><?php header('Content-Type: text/html; charset=utf-8'); $wsdl = 'wsdl.wsdl'; $array = array(); $soap = new SoapServer($wsdl,$array); $soap->addFunction("ExecCmd"); $soap->handle(); //给客户端使用的方法 function ExecCmd($CSPID, $LSPID, $CorrelateID, $CmdFileURL){ //具体的业务逻辑 do($CSPID, $LSPID, $CorrelateID, $CmdFileURL);$arr = array(); $arr['Result'] = 0; $arr['ErrorDescription'] = 'Receive XML file success;CSPID:'.$CSPID.', LSPID:'. $LSPID. ', CorrelateID:'.$CorrelateID.', CmdFileURL:'. $CmdFileURL; return $arr; } //具体的业务逻辑 function do($CSPID, $LSPID, $CorrelateID, $CmdFileURL){ }
相关文章推荐
- ebs view old conc logfile and outputfile
- PHP将图片二进制转换
- yii2 如何用命名空间方式使用第三方类库
- 真阳率(tp)、假阳率(np)
- php数组指针学习笔记(一)
- 一个简单的PHP文件上传示例程序
- vsftp 搭建及虚拟账号配置
- 文件的MIME-TYPE
- thinkphp5初探,Twig模版引擎的引入和使用
- 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM
- PHP缓存技术
- PHP设计模式
- 解决在ThinkPHP控制器中命名空间的问题
- php中查找某一函数所在位置
- ajax自动提交表单数据,经php处理返回数据
- php 仿thinkphp的sql类库
- Yii2 日志(log)配置与使用
- php计算时间差
- PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法
- [李景山php]每天laravel-20160905|Dispatcher-5