首页 > 编程 > PHP > 正文

浅谈PHP调用Webservice思路及源码分享

2020-03-22 19:12:40
字体:
来源:转载
供稿:网友
方法一:直接调用复制代码 代码如下:
?
/******************************************************************************/
/* 文件名 : 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: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接口客户端例程
/******************************************************************************/
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: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);
} else {
print "ERROR: $err";
}
*/

$document=$proxy- document;
echo SoapDocument
?xml version="1.0" encoding="GB2312"?
SOAP-ENV:Envelope SOAP-ENV: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);
} else {
print "ERROR: $err";
}
*/$document=$proxy- document;
echo SoapDocument
?xml version="1.0" encoding="GB2312"?
SOAP-ENV:Envelope SOAP-ENV: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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表