开发者社区> jieforest> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

PHP开发Web服务

简介: PHP开发Web服务 WSO2 WSF/PHP(WSO2 Web Services Framework/PHP,WSO2 Web服务框架) 是一个PHP扩展,允许用来创建和使用Web服务。
+关注继续查看

PHP开发Web服务


WSO2 WSF/PHP(WSO2 Web Services Framework/PHP,WSO2 Web服务框架) 是一个PHP扩展,允许用来创建和使用Web服务。它支持SOAP1.1、SOAP1.2、MTOM、Web服务寻址、Web服务安全,也支持REST风格的调用。WSO2 WSF/PHP最新的版本(v2.0.0)刚发布。
下面是一个简短的指南解释了怎样用WSO2 WSF/PHP扩展创建一个简单的计算器服务。
(假设:Apache HTTP服务器已经安装在你的机器上,且你基本熟悉在Apache服务器上运行PHP脚本)

第一步:安装WSO2 WSF/PHP扩展
在Ubuntu下,有下列步骤:
1. apt-get install php5
2. apt-get install php5-dev
3. apt-get libapache2-mod-php5
3. apt-get install libxml2
4. apt-get install libxml2-dev
5. 下载 WSF/PHP v2.0.0 并解压到一个目录
6. 在命令行访问该目录,以“root”执行下列命令:
./configure
make
make install
7. /etc/init.d/apache2 restart

第二步:编写计算器服务
创建一个名为CalculatorService.php的脚本,且放入Apache HTTP服务器的web root(通常是 /var/www)。
<?php
function calculate($inMessage){
$simplexml = new SimpleXMLElement($inMessage->str);
$operand1 = $simplexml->param1[0];
$operand2 = $simplexml->param2[0];
$operation = $simplexml->param3[0];
if($operation != null)
{
  switch($operation)
  {
  case "add" : $result= $operand1 + $operand2; break;
  case "sub" : $result= $operand1 - $operand2; break;
  case "mul" : $result= $operand1 * $operand2; break;
  case "div" : $result= $operand1 / $operand2; break;
  }
}

$response =
  $result
XML;
$returnMsg = new WSMessage($response);
return $returnMsg;
}

$service = new WSService(array("operations" => array("calculate")));
$service->reply();
?>
一旦部署后,可以从http://localhost:/CalculatorService.php访问它。

第三步:编写计算器客户端
编写一个客户端,调用此计算器服务,并打印结果。
该脚本命名为CalculatorClient.php,且放入Apache HTTP服务器的web root。
不要忘了改变Apache服务器的端口(即http://localhost:81/CalculatorService.php)来匹配服务器。
<?php
$requestPayload =

100
43
add

XML;

try{
$message = new WSMessage($requestPayload,
  array("to" => "http://localhost:81/CalculatorService.php"));
$client = new WSClient();
$response = $client->request($message);  
echo "Answer : $response->str";
}
catch (Exception $e){  
if ($e instanceof WSFault){
  $fault = $e;
  printf("Soap Fault received. Code: '%s' .Reason: '%s'/n",
  $fault->code, $fault->reason);
}else{
  printf("Exception occurred. Message: '%s'/n", $e->getMessage());
}
}
?>

第四步:访问服务
通过执行CalculatorClient.php访问服务,如下:
http://localhost:/CalculatorService.php

以上只是创建计算器服务的基本例子。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP的SoapClient选择服务端口
PHP的SoapClient选择服务端口
0 0
《阿里云栖开发者沙龙PHP技术专场-聊聊服务稳定性保障这些事-信海龙》电子版地址
阿里云栖开发者沙龙PHP技术专场-聊聊服务稳定性保障这些事-信海龙
0 0
公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页
公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页
0 0
php配置mongodb扩展、安装mongodb服务教程
php配置mongodb扩展、安装mongodb服务教程
0 0
【PHP服务类】错误码处理
【PHP服务类】错误码处理
0 0
PHP使用phpmailer及SMTP服务实现邮件发送
第一种是PHP通过qq邮箱或者网易邮箱的SMTP服务器来实现邮件发送。 第二种是使用phpmailer来实现邮件发送。
0 0
使用消息服务(MNS)订阅阿里云物联网平台设备消息PHP示例参考
物联网平台服务端订阅支持将设备消息发送至消息服务(MNS),云端应用通过监听MNS队列,获取设备消息。本文主要演示使用最新版MNS PHP SDK消费订阅到MNS Queue中的消息。
0 0
阿里云栖开发者沙龙PHP技术专场-聊聊服务稳定性保障这些事
摘要:本文主要带大家了解服务稳定性的重要性和相关策略。策略大概分两部分,第一方面从架构层面介绍保障服务稳定性的常见策略(限流,降级,隔离,超时,重试和集群)。第二个方面是从流程方面(code review, 压测,灰度和监控)讲解怎么去保证稳定性。
1889 0
用PHP和Python生成短链接服务的字符串ID
假设你想做一个像微博短链接那样的短链接服务,短链接服务生成的URL都非常短例如: http://t.cn/E70Piib, 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和...
543 0
+关注
jieforest
原ChinaUnix博客专家,见:http://blog.chinaunix.net/uid/301743.html
文章
问答
文章排行榜
最热
最新
相关电子书
更多
PHP安全开发_从白帽角度做安全
立即下载
Web应用系统性能优化
立即下载
Web服务架构变迁与性能优化
立即下载