版权声明:本文为博主原创文章,未经博主允许不得转载。
NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService,是一个开源软件。它完全采用PHP语言编写、通过HTTP收发SOAP消息的一系列PHP类,由NuSphere Corporation(http://www.nusphere.com/)开发。
它的优势是不需要扩展库的支持,这种特性使它可用于所有的PHP环境,不受服务器安全设置的影响。
1.首先,去http://sourceforge.net/projects/nusoap/下载nusoap-0.9.5.zip,解压后把lib文件夹放到与你的WebService程序相同的目录,如/WebService/lib。
2.服务端:建立nusoapService.php文件。
<?php
require_once("lib/nusoap.php");
$server = new soap_server;
//避免乱码
$server->soap_defencoding = 'UTF-8';
$server->decode_utf8 = false;
$server->xml_encoding = 'UTF-8';
$server->configureWSDL('sayHello');//打开wsdl支持
/*
注册需要被客户端访问的程序
类型对应值:bool->"xsd:boolean" string->"xsd:string"
int->"xsd:int" float->"xsd:float"
*/
$server->register( 'sayHello', //方法名
array("name"=>"xsd:string"), //参数,默认为"xsd:string"
array("return"=>"xsd:string") );//返回值,默认为"xsd:string"
//isset 检测变量是否设置
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
//service 处理客户端输入的数据
$server->service($HTTP_RAW_POST_DATA);
/**
* 供调用的方法
* @param $name
*/
function sayHello($name) {
return "Hello, {$name}!";
}
?>
注:
1.文件代码不能有任何输出,否则调用时会报类似如下错误:
XML error parsing SOAP payload on line x(行号): Reserved XML Name
2.要以UTF-8 无BOM格式保存,不然客户端调用会出错。
3.客户端:建立nusoapClient.php文件。
<?php
require_once("lib/nusoap.php");
/*
通过WSDL调用WebService
参数1 WSDL文件的地址(问号后的wsdl不能为大写)
参数2 指定是否使用WSDL
$client = new soapclient('http://localhost/WebService/nusoapService.php?wsdl',true);
*/
$client = new soapclient('http://localhost/WebService/nusoapService.php');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$client->xml_encoding = 'UTF-8';
//参数转为数组形式传递
$paras=array('name'=>'Bruce Lee');
//目标方法没有参数时,可省略后面的参数
$result=$client->call('sayHello',$paras);
//检查错误,获取返回值
if (!$err=$client->getError()) { echo "返回结果:",$result; }
else { echo "调用出错:",$err; }
?>
注:用nusoap实现WebService,不要开启php的SOAP扩展
- 顶
- 0
- 踩
- 0
- 上一篇PHP连接MySQL
- 下一篇利用SOAP扩展开发WebService(PHP)
我的同类文章
http://blog.csdn.net- •PHP简单分页类2013-02-01
- •在IIS搭建基于CodeIgniter的PHP网站2010-10-08
- •PHP连接MySQL2010-09-07
- •UTF-8 BOM导致验证码不显示2010-09-07
- •PHP上传图片并生成缩略图_12010-09-07
- •PHP导出CSV2013-02-01
- •利用SOAP扩展开发WebService(PHP)2010-09-08
- •PHP中/英文验证码2010-09-07
- •PHP上传图片并生成缩略图_22010-09-07
参考知识库
-
更多资料请参考:
- 猜你在找
- PHP操作xml视频教程
- 从此不求人:自主研发一套PHP前端开发框架
- PHP与Web开发全程导学(第1部分)
- php+html5开发涂鸦爱情墙
- ArcGIS for JavaScript
- php使用NuSoap调用javaC# webservice的中文乱码问题
- PHP调用Webservice-NuSoap实例
- webServicephp的soap与nusoap服务端与客户端的通信
- 关于PHP的使用NuSoap来架设soap服务webservice
- php 的webservice类库NuSoap介绍
- 2楼 hema1515 2015-11-17 03:41发表 [回复] [引用] [举报]
- 定义头部编码
- 1楼 fchenlun 2011-05-18 10:36发表 [回复] [引用] [举报]
- JAVA调用的时候中文参数出乱码了,如何解决哦?帮帮忙。