PHP实现WebService,它作为一种扩展存在于PHP中。php官方的SOAP扩展,优势是用c开发,相比nusoap效率上较优。
1.在默认情况下,这个扩展是没有被开启的。打开 php.ini 文件,找到;extension=php_soap.dll这行,去掉注释符“;”,保存并重启 Apache 服务。
SoapServer类和SoapClient类有两种操作模式:WSDL模式和non-WSDL模式。
在WSDL模式中,构造器可以使用WSDL文件名作为参数,并从WSDL中提取服务所使用的信息。non-WSDL模式中使用参数来传递要使用的信息。
2.服务端soapService.php:
<?php
/*
wsdl方式提供WebService
$server = new SoapServer('Calculator.wsdl');
*/
//non-wsdl方式提供WebService(指定相应的uri)
$server = new SoapServer(null,array("uri"=>"soapService.php"));
$server -> setClass("Calculator");
$server -> handle();
Class Calculator
{
/**
* Add the two figures together
* @param $num1
* @param $num2
*/
function addition($num1,$num2) {
$result = $num1+$num2;
return "{$num1} 加 {$num2} ,结果为 ".$result." !";
}
}
?>
然后利用Zend Studio将此php类文件生成WSDL文件。( 发现zend studio 7.x版没有这个功能,又不想手动去写,盛怒之下把它给卸载了,装上了6.1.2版。)
3.客户端soapClient.php:
<?php
try {
/*
wsdl方式调用WebService(函数改动后须重新生成wsdl)
$soap = new SoapClient("http://localhost/WebService/Calculator.wsdl");
*/
//non-wsdl方式调用WebService
$soap = new SoapClient(null, array(
'location'=> "http://localhost/WebService/soapService.php",
'uri' => 'soapService.php' ) );
//两种方式调用函数
$result1 = $soap->addition ( 200, 160 );
$result2 = $soap->__soapCall ( "addition", array (50, 70 ) );
echo $result1 . "<br/>" . $result2;
}
catch ( SoapFault $e ) { echo $e->getMessage (); }
catch ( Exception $e ) { echo $e->getMessage (); }
?>
转自 http://blog.csdn.net/painstaker/archive/2010/09/08/5870688.aspx
分享到:
相关推荐
SOAPHeader用于插入各种其他消息,如安全性声明等,来扩展WebService的功能。SOAPBody则是消息正文,包含了通过XML序列化后的方法调用信息和返回结果。 在PHP中,实现WebService的一个常用方式是使用内置的SOAP扩展...
php扩展 php_soap webservice服务端搭建demo 附件中包含所有文件,详细说明见readme
2. **维护与更新**:NuSOAP自2005年后未再更新,而SOAP扩展库随PHP版本迭代持续优化,尤其是在PHP5及后续版本中,对WebService的支持更加完善。 #### 实现细节与注意事项 1. **WSDL缓存**:为了提升效率,PHP对...
标题“php webservice soap”暗示我们将探讨PHP如何作为一个客户端,利用SOAP库来调用Web服务。这通常涉及到创建一个SOAP客户端,设置必要的参数,然后执行SOAP请求来获取或发送数据。 描述中的“php 调用...
【Laravel开发-laravel-webservice】是一个专注于在Laravel框架中构建Web服务的项目,它利用了httpful库来提供高效、简洁的API交互。在本文中,我们将深入探讨Laravel框架的基础,Web服务的概念,以及httpful库如何...
1. 安装SOAP扩展:需要安装 PHP 的 SOAP 扩展,以便使用 SOAP 协议来传输数据。 2. 创建 WSDL 文件:根据需要创建 WSDL 文件,定义 Web Service 的接口和行为。 3. 实现 Web Service:使用 PHP 实现 Web Service 的...
在本文中,我们将深入探讨如何使用PHP通过SOAP协议调用.NET的WebService ASMX文件。SOAP(Simple Object Access Protocol)是一种轻量级的消息协议,用于在不同的应用程序之间交换数据。而ASMX是.NET Framework中...
但从PHP 5开始,PHP内建了SOAP扩展,简化了开发过程。Web Service有两种工作模式:WSDL(Web Services Description Language)模式和non-WSDL模式。WSDL模式提供了一个XML文件来描述服务接口,而non-WSDL模式则不...
Axis2是Apache软件基金会开发的一个Web Service引擎,它是Axis1.x的下一代产品,提供了更高效、可扩展和模块化的架构。Axis2支持SOAP 1.1和1.2,XML-over-HTTP,RESTful风格的服务,并且可以处理多种消息格式,如...
WebService通常采用标准的XML(可扩展标记语言)格式来传输数据,并通过HTTP(超文本传输协议)进行通信,使得不同平台和语言的应用程序可以无缝交互。在这个场景中,我们将探讨如何使用C#调用PHP编写的WebService。...
Web服务是一种通过网络进行应用程序间通信的方法,而PHP的`Soap`扩展提供了方便的接口来实现这一功能。 首先,让我们了解`SoapServer`。`SoapServer`是PHP中用于创建SOAP服务器端点的类,它能够处理客户端发送的...
NuSOAP是一个轻量级的PHP库,支持SOAP 1.1和1.2标准,能够快速构建或调用Webservice。 ##### 1. NuSOAP配置与引入 ```php require_once("lib/nusoap.php"); ``` 这行代码表示引入NuSOAP库,确保PHP脚本能访问NuSOAP...
SOAP通常用于处理结构化的XML数据,而REST则更倾向于使用JSON格式,但两者都可用于PHP WebService的实现。 在描述中提到的问题是,PHP WebService已经成功实现了文章的传输,但附件部分遇到了困难。这可能是因为...
在PHP中,可以使用内置的SOAP扩展来实现对SOAP Web服务的调用。 首先,确保你的PHP环境已经启用了SOAP扩展。检查`php.ini`配置文件,找到`extension=php_soap.dll`这一行,并去掉前面的分号(如果有的话),然后...
【短信群发Webservice开发源码及文档】是关于构建一个能够实现批量发送短信功能的Web服务的资源包。...开发者需要熟悉Webservice的相关技术和短信通信协议,以便成功地利用这些源码和文档进行开发工作。
不需下载任何插件,仅需要在phpStudy中开启php扩展“php_soap”。(见图一) 所需的php_soap.dll自带,位置:D:\phpStudy\php53\ext\php_soap.dll(见图二) 生成WSDL文件 执行一次server.php,会自动生成hello....
NuSOAP 是 PHP 环境下的 WEB 服务编程工具,用于创建或调用 WEB ... NuSOAP 完全由PHP语言编写,由一系列 PHP 类组成,不需要扩展库的支持,这种特性使得 NuSOAP 可以用于所有的 PHP 环境,不受服务器安全设置的影响。
1. PHP的SOAP扩展介绍:PHP的SOAP扩展提供了一组用于构建和使用SOAP客户端和服务器端应用程序的类和函数。它允许开发者在PHP代码中调用Web服务,也允许PHP应用本身作为Web服务对外提供接口。 2. 图片转换为base64...
1. **安装SOAP库**:由于CodeIgniter默认并不包含SOAP类,我们需要首先安装PHP的SOAP扩展。在大多数服务器环境中,这通常是预装的。如果尚未安装,可以通过修改php.ini文件或使用Composer来添加。 2. **创建SOAP...