加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

利用NuSoap开发WebService(PHP)

发布时间:2020-12-16 22:04:29 所属栏目:安全 来源:网络整理
导读:利用NuSoap开发WebService(PHP) 标签: webservicephpsoapstringencodingparsing 2010-09-08 12:00 7614人阅读 评论(2) 收藏 举报 本文章已收录于: 分类: php (9) 作者同类文章 X 版权声明:本文为博主原创文章,未经博主允许不得转载。 NuSoap 是 PHP
利用NuSoap开发WebService(PHP)
标签: webservicephpsoapstringencodingparsing
7614人阅读 评论(2) 收藏 举报
本文章已收录于:

分类:
作者同类文章 X

    NuSoapPHP环境下的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 = $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文件的地址(问号后的不能为大写)
    ??????
    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($paras);
    ??? 检查错误,获取返回值
    ??? if (!$err=$client->getError()) { echo "返回结果:",0); font-family:'Courier New'; font-size:10pt">$result;? }
    ??? else { echo 调用出错:$err; }
    ?>
    注:nusoap实现WebService,不要开启phpSOAP扩展

    0
    0
    ?
    ?

    我的同类文章

    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调用的时候中文参数出乱码了,如何解决哦?帮帮忙。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读