SOA
许多机构已经采用了Apach和PHP作为他们的Web应用环境。在Web services模式中采用PHP可能看上去可能会比较难。但是事实上,搭配NuSoap,你可以轻松的应用PHP构建SOAP的客户端和服务器端。一个例子便能说明一切,让我们先看一个例子
为了说明如何应用NuSoap和PHP来构建Web services,我们将举一个简单的例子。这个例子应用程序由一个PHP Web services的服务器端和客户端组成。他将实现两个功能:颠倒一个字符串字符的顺序,求两个数的和。
PHP SOAP服务器
用PHP和NuSoap来建立SOAP服务器非常容易。基本上,你只要写出你想要暴露给你的Web services的函数,然后用NuSoap去注册它们就可以了。
OK,另外还需要两步才能完成PHP SOAP服务器的建立。首先你还要在你的PHP代码中创建NuSoap对象的一个实例,然后用HTTP POST方法将原始数据传给NuSoap进行处理。听起来简单吧。先看看清单1。
清单1:soapfunc.php
require_once('nusoap.php');
function reverse($str){
$retval = "";
if(strlen($str) return new soap_fault('Client',','Invalid string');
}
for ($i = 1; $i $retval .= $str[(strlen($str) - $i)];
}
return $retval;
}
function add2numbers($num1, $num2) {
if (trim($num1) != intval($num1)) {
return new soap_fault('Client', ', 'The first number is invalid');
}
if (trim($num2) != intval($num2)) {
return new soap_fault('Client', ', 'The second number is invalid');
}
return ($num1 + $num2);
}
?>
清单1给出了soapfunc.php的源文件。这个文件包含了我们想通过SOAP协议暴露给Web services的两个函数:reverse和add2numbers,它们是我们这个Web services 应用的核心。函数reverse带一个参数,颠倒字符串中的字符的顺序,然后返回。
清单2:soapserver.php
require_once('nusoap.php');
include('soapfunc.php');
$soap = new soap_server;
$soap->register('reverse');
$soap->register('add2numbers');
$soap->service($HTTP_RAW_POST_DATA);
?>
清单2举例说明了NuSoap注册函数和调用SOAP处理程序的用法。你看到了,注册你的两个函数(在soapfunc.php中)、传递POST数据给soap_server对象,就跟创建一个新的soap_server对象实例一样的简单。soap_server对象将要检查POST数据并确定将调用哪个函数,然后向这个PHP函数传递参数。从PHP函数返回的数据被重新包装为SOAP响应并传送给请求服务的SOAP客户端。
PHP SOAP客户端
现在我们已经利用NuSoap和PHP创建了一个SOAP服务器,我们需要对它进行测试。像我们建立SOAP服务器程序一样,我们可以在PHP中利用NuSoap再建立一个SOAP的客户端程序。清单3给出了PHP SOAP客户端程序的源程序。
现在我们已经利用NuSoap和PHP创建了一个SOAP服务器,我们需要对它进行测试。像我们建立SOAP服务器程序一样,我们可以在PHP中利用NuSoap再建立一个SOAP的客户端程序。清单3给出了PHP SOAP客户端程序的源程序。
清单3:soapclient.php
include('nusoap.php');
$client = new soapclient('http://localhost/soapserver.php');
$str = "This string will be reversed";
$params1 = array('str'=>$str);
$reversed = $client->call('reverse',$params1);
echo "If you reverse '$str', you get '$reversed'
\n";
$n1 = 5;
$n2 = 14;
$params2 = array('num1'=>$n1, 'num2'=>$n2);
$added = $client->call('add2numbers', $params2);
echo "If you add $n1 and $n2 you get $added
\n";
?>
为了在一个SOAP服务器上能使用PHP客户端程序,你还得做三件事情。第一,你要创建一个soapclient对象。soapclient对象负责处理参数的编组和SOAP协议。soapclient需要一个必须是URL的参数。这个URL可以指向一个实际SOAP服务器的HTTP终端或者一个WSDL描述。在我们这个例子里,它是指向我们的PHP SOAP服务器的一个URL。
当调用需要参数的函数时,你需要先创建一个参数数组,数组包括一组键-值(key-value)对。键(key)是参数的名字,值(value)是参数的值。
当需要调用函数时,你就用soapclient对象去调用,并且传入两个参数。第一个参数是你要调用的函数的名字,第二个参数是包含SOAP函数所带参数的一个数组,主调函数将会返回你调用的SOAP函数的值。
要运行这个例子,只要简单的在Web浏览器中输入soapclient.php的URL。你将类似以下的输出:
If you reverse 'This string will be reversed', you get 'desrever eb lliw gnirts sihT' If you add 5 and 14 you get 19

NETSTART命令是Windows中的内置命令,可用于启动和停止服务和其他程序。有时,在运行此命令时,您可能会遇到NetHelpmsg2186错误。遇到此错误的大多数用户都试图通过运行NETSTARTWUAUSERV命令来重新启动Windows更新服务。如果Windows更新服务已禁用或未运行,则您的系统可能会面临风险,因为您无法获取最新更新。让我们详细探讨为什么会发生此错误以及如何绕过它。好吗?什么是错误2186?Windows更新服务通过安装最新的关键更新和安全功

安全中心服务是win10系统内置的电脑防护作用,能够实时保护电脑安全,可是有些客户在开机的时候碰见了安全中心服务被禁用的状况,怎么办呢?很简单,你可以打开服务面板,找到SecurityCenter项,以后右键打开它的属性窗口,将启动种类设定为自动,以后再点击一下启动就能够再次开启这个服务了。win10安全中心服务被禁用怎么办:1、按“Win+R”开启“运作”窗口。2、随后输入“services.msc”指令后按回车3、随后在右边窗口中找到“SecurityCenter”一项,双击此项开启其属性窗

远程桌面连接给很多用户的日常生活带来了方便,也有部分想使用命令来进行远程连接,操作起来更方便,那么该怎么连接呢?远程桌面连接服务用命令打开方法可以帮你解决。远程桌面连接命令怎么设置:方法一、通过运行命令远程连接1、按下“Win+R”打开“运行”输入mstsc2、然后点击“显示选项”3、输入ip地址点击“连接”。4、显示正在连接即可。方法二、通过命令提示符远程连接1、按下“Win+R”打开“运行”输入cmd2、在“命令提示符”输入mstsc/v:192.168.1.250/console

计算机有许多系统服务来支持各种程序的应用。如果电脑没有声音,在排除硬件问题的情况下,大部分音频服务都没有打开,那么win7如何启用音频服务呢?许多朋友比较模糊,所以针对如何启用win7音频服务的问题,下面小编介绍win7音频服务的启用方法。启用win7音频服务的方法。1.在Windows7系统下的计算机桌面上找到计算机,右键选择管理选项。2.在打开的计算机管理界面中找到并打开服务和应用下的服务项目。在右边的服务界面上找到WindowsAudio双击打开修改。4.切换到常规项目,点击启动开启功能。

Linux重启服务的正确方式是什么?在使用Linux系统时,经常会遇到需要重启某个服务的情况,但是有时候我们可能会在重启服务时遇到一些问题,比如服务没有真正停止或启动等情况。因此,掌握正确的重启服务的方式是非常重要的。在Linux中,通常可以使用systemctl命令来管理系统服务。systemctl命令是systemd系统管理器的一部分

“最烦登网站时各种奇奇怪怪(甚至变态)的验证码了。”现在,有一个好消息和一个坏消息。好消息就是:AI可以帮你代劳这件事了。不信你瞧,以下是三张识别难度依次递增的真实案例:而这些是一个名为“Pix2Struct”的模型给出的答案:全部准确无误、一字不差有没有?有网友感叹:确定,准确性比我强。所以可不可以做成浏览器插件??不错,有人表示:别看这几个案例相比还算简单,但凡微调一下,我都不敢想象其效果有多厉害了。所以,坏消息就是——验证码马上就要拦不住机器人了!(危险危险危险……)如何做到?Pix2St

标题:解决Ubuntu下PHP服务无法正常启动的方法及具体代码示例在使用Ubuntu搭建网站或应用程序时,经常会遇到PHP服务无法正常启动的问题,这会导致网站无法正常访问或应用程序无法正常运行。本文将介绍如何解决Ubuntu下PHP服务无法正常启动的问题,同时提供具体的代码示例帮助读者快速解决此类故障。一、检查PHP配置文件首先,我们需要检查PHP的配置文件

在Linux中,要执行服务重启命令通常需要使用Systemd服务管理器。Systemd是Linux上广泛使用的服务管理工具,可以方便地管理和控制系统服务。下面将介绍如何在Linux中通过Systemd执行服务重启命令,并提供具体的代码示例。步骤一:确认服务名称在执行服务重启命令之前,首先需要确认要重启的服务名称。可以通过以下命令查看系统中正在运行的服务列表:


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),