`

利用NuSoap开发WebService(PHP)

阅读更多

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 = '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,不要开启phpSOAP扩展

转自 http://blog.csdn.net/painstaker/archive/2010/09/08/5870515.aspx

分享到:
评论

相关推荐

    nusoap构建webservice (php)

    nusoap库是PHP中广泛使用的开源库,由Michael Wallner开发,旨在简化SOAP的实现。这个库不仅支持创建SOAP服务器,还支持作为SOAP客户端调用远程服务。nusoap库包含了完整的WSDL(Web服务描述语言)生成器和解析器,...

    php webservice类nusoap

    **PHP Webservice 类库nusoap详解** 在PHP开发中,Web服务(Web Service)是一种通过互联网进行应用程序间通信的标准技术。它允许不同系统之间的数据交换,不受编程语言或操作系统限制。nusoap是一个轻量级、开源的...

    php 利用 nusoap 生成 webservices

    总结,通过上述步骤,我们可以使用PHP和nusoap库创建一个简单的Webservice,包括服务器端和客户端的实现。这只是一个基础示例,实际应用中可能涉及更复杂的业务逻辑和数据交互。理解并掌握这种技术对于构建跨平台、...

    nusoap.php下载,下载nusoap.php

    nusoap.php下载

    PHP nusoap.php

    标题 "PHP nusoap.php" 指涉的是一个基于PHP的开源库——nusoap。这个库主要用于创建和消费Web服务,特别是那些基于SOAP(Simple Object ...通过学习和掌握nusoap.php,开发者可以增强他们创建和利用分布式系统的能力。

    NUSOAP参考文档 PHP

    在PHP中,NUSOAP库使得开发人员能够轻松地实现SOAP客户端和服务端的功能,无需深入了解SOAP的底层机制。 **NUSOAP的核心功能:** 1. **创建SOAP服务器:** NUSOAP库允许开发者通过简单的PHP函数定义服务接口和业务...

    nusoap for php

    使用nusoap,开发者可以轻松地创建SOAP服务,只需定义服务函数,然后利用nusoap自动生成WSDL文件。同样,也可以创建SOAP客户端,通过指定WSDL地址或者手动定义方法调用来调用远程服务。 在实际开发中,了解和掌握...

    nusoap.php及若干实例

    nusoap.php是一个开源的PHP类库,由Markus Jochim开发,它允许PHP程序创建自定义的SOAP服务器和客户端。这个库不仅包含了SOAP的实现,还支持WSDL(Web Services Description Language)自动生成,使得非技术用户也能...

    nusoap参考手册,API

    nusoap是PHP开发Web服务的重要工具,它提供了一个完整的SOAP客户端和服务器实现,支持WSDL(Web Services Description Language)和非WSDL模式。nusoap不仅适用于开发SOAP服务,还可以用于测试和调试SOAP服务,是PHP...

    PHP WebService实现

    【PHP WebService实现】 在PHP中实现Web Service是一种常见的数据...总的来说,PHP WebService实现涉及到了环境配置、NuSOAP库的使用以及不同语言间的服务调用。通过这些知识点,开发者可以构建自己的跨平台交互应用。

    nusoap, 用于 PHP 5.6 7.2的固定 NuSOAP.zip

    nusoap, 用于 PHP 5.6 7.2的固定 NuSOAP PHP 5.4---7.1的为 PHP 5.4,5.5,5.6,7.0和 7.1 ( 已经测试) 修复的NuSOAP 。所有学分属于官方 author(s): http://nusoap.sourceforge.net 。

    Java调用php的webservice

    在本案例中,我们使用了NuSOAP库来创建一个简单的PHP Webservice服务端。NuSOAP是一个轻量级的PHP库,支持SOAP 1.1和1.2标准,能够快速构建或调用Webservice。 ##### 1. NuSOAP配置与引入 ```php require_once("lib...

    php开发webservice所用的nusop.php文档

    NuSOAP 是 PHP 环境下的 WEB 服务编程工具,用于创建或调用 WEB 服务。它是一个开源软件,当前版本是 0.7.2 ,支持 SOAP1.1 、 WSDL1.1 ,可以与其他支持 SOAP1.1 和 WSDL1.1 的系统互操作。 NuSOAP 完全由PHP语言...

    nusoap.php

    利用:nusoap.php 可以用类的方式访问WEB SERVICE;对应BLOG文章可以参考:http://blog.csdn.net/xocom/article/details/52188799

    php 实现 webservice

    2. **维护与更新**:NuSOAP自2005年后未再更新,而SOAP扩展库随PHP版本迭代持续优化,尤其是在PHP5及后续版本中,对WebService的支持更加完善。 #### 实现细节与注意事项 1. **WSDL缓存**:为了提升效率,PHP对...

    nusoap php webservices 类

    include('nusoap.php'); // Create a SOAP Client object. $client = new soapclient("http://www.flash-db.com/services/ws/companyInfo.wsdl","wsdl"); // The following is a mechanism for capturing ...

    nusoap-0.9.5.zip

    总的来说,nusoap库是PHP开发中一个强大的工具,特别是在需要与使用其他语言的服务进行交互的场景下。通过理解并熟练运用nusoap,开发者可以更高效地构建和维护跨平台的分布式系统。尽管现在有更多现代的Web服务框架...

    php nusoap

    nusoap库包括了客户端和服务端的功能,使得PHP开发人员能够直接在PHP中处理SOAP消息,从而实现Web服务的调用和提供。 **二、nusoap库的核心功能** 1. **服务端功能**:nusoap库可以创建SOAP服务器,将PHP函数转换...

    nusoap-0.9.5及说明文档

    例如,如果你有一个PHP网站,需要与另一个使用.NET或Java开发的系统交换数据,nusoap就能作为一个桥梁,让这两个系统能够通过SOAP通信。此外,nusoap还可以用来测试和调试第三方SOAP服务,确保它们按照预期工作。 ...

Global site tag (gtag.js) - Google Analytics