NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService。它是一个开源软件,是完全采用PHP语言编写的、通过HTTP收发SOAP消息的一系列PHP类,由NuSphere Corporation(http://dietrich.ganx4.com/nusoap/ )开发。NuSOAP的一个优势是不需要扩展库的支持,这种特性使得NuSoap可以用于所有的PHP环境,不受服务器安全设置的影响。
方法一:直接调用
<?
/******************************************************************************/
/* 文件名 : soapclient.php
/* 说 明 : WebService接口客户端例程
/******************************************************************************/
include(‘NuSoap.php’);
// 创建一个soapclient对象,参数是server的WSDL
$client = new soapclient(‘http://localhost/Webservices/Service.asmx?WSDL’, ‘wsdl’);
// 参数转为数组形式传递
$aryPara = array(’strUsername’=>’username’, ’strPassword’=>MD5(‘password’));
// 调用远程函数
$aryResult = $client->call(‘login’,$aryPara);
//echo $client->debug_str;
/*
if (!$err=$client->getError()) {
print_r($aryResult);
} else {
print “ERROR: $err”;
}
*/
$document=$client->document;
echo <<<SoapDocument
<?xml version=”1.0″ encoding=”GB2312″?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:si=”http://soapinterop.org/xsd“>
<SOAP-ENV:Body>
$document
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SoapDocument;
?>
方法二:代理方式调用
<?
/******************************************************************************/
/* 文件名 : soapclient.php
/* 说 明 : WebService接口客户端例程
/******************************************************************************/
require(‘NuSoap.php’);
//创建一个soapclient对象,参数是server的WSDL
$client=new soapclient(‘http://localhost/Webservices/Service.asmx?WSDL’, ‘wsdl’);
//生成proxy类
$proxy=$client->getProxy();
//调用远程函数
$aryResult=$proxy->login(‘username’,MD5(‘password’));
//echo $client->debug_str;
/*
if (!$err=$proxy->getError()) {
print_r($aryResult);
} [...]


最近评论