php wsdl客戶端服務端示例

wsdl文件代碼:

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></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){

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章