`

[b]PHP开发Web服务[/b]

阅读更多
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 = <<<XML
        <result>$result</result>
XML;
$returnMsg = new WSMessage($response);
return $returnMsg;
}

$service = new WSService(array("operations" => array("calculate")));
$service->reply();
?>

一旦部署后,可以从http://localhost:<port>/CalculatorService.php访问它。

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

以上只是创建计算器服务的基本例子。
1
1
分享到:
评论

相关推荐

    基于web开发的B/S小区公共服务管理系统

    【标题】:“基于Web开发的B/S小区公共服务管理系统”是一个以网页为基础的系统,它采用浏览器/服务器(B/S)架构,旨在为小区提供便捷、高效的公共服务管理解决方案。该系统适用于社区物业管理,能够提高服务质量和...

    PB12.5 web开发实例

    10. **持续集成与部署**: 需要将PB12.5的Web服务集成到现有的开发流程中,并确保在不同的环境中(如开发、测试、生产)能顺利部署和运行。 通过深入学习和实践这些知识点,开发者可以在PB12.5环境中高效地开发和...

    PHP和MySQL Web开发第4版pdf以及源码

    《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 ...

    360webscan.php_bypass.pdf

    在本文中,我们将详细介绍 360webscan_php_bypass 的原理和实现方法,并详细分析 PHP 开发语言中相关的安全问题。 一、绕过 360webscan 的方法 在 PHP 开发中,绕过 360webscan 的方法主要有以下几种: 1. 使用白...

    最快的免费web服务器

    ### 最快的免费Web服务器——Cherokee的搭建与配置 #### 概述 ...通过上述步骤,我们可以成功搭建一套由Cherokee、PHP5和MySQL组成的高效Web服务器环境,不仅适用于开发测试,也可以应对生产级别的需求。

    基于B/S的餐厅点菜系统php

    【标题】"基于B/S的餐厅点菜系统php"是一个以网页和服务器为基础的餐饮管理系统,主要用于实现顾客在线点餐、订单处理等功能。这个系统采用了B/S架构(Browser/Server,浏览器/服务器模式),这意味着用户可以通过...

    WEB开发技术常见问题汇总

    C/S(Client/Server)模式和B/S(Browser/Server)模式是两种常见的WEB应用程序架构模式。B/S模式逐渐取代C/S模式,原因是B/S模式具有更好的灵活性和可扩展性。 十、打开数据库,访问XML文档 打开数据库和访问XML...

    web应用简介及开发环境

    为了开发Web应用,通常需要以下组件: - JDK(Java Development Kit):Java开发环境,提供编译Java代码的工具。 - Tomcat:一个流行的Java Servlet容器,用于运行JSP和Servlet。 - Eclipse:一个开源的Java集成开发...

    PHP敬老院管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页源码

    PHP 敬老院管理系统(养老)是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 (1)用户管理:对用户信息进行添加、删除、修改和查看 ...

    Web开发技术.pdf

    在Web开发中,C/S模式和B/S模式是两种不同的架构。C/S模式即客户端/服务器模式,这种模式下用户需要在客户端安装特定的应用软件来与服务器通信。而B/S模式,即浏览器/服务器模式,它通过网络浏览器作为客户端,用户...

    PHP和MySQL WEB开发(第4版)

    16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 16.6.3 连接服务器 16.6.4 运行服务器 16.7 保护网络 16.7.1 安装防火墙 16.7.2使用隔离区域(DMZ) 16.7.3...

    c#web开发技术

    与传统的C/S(Client/Server)架构相比,B/S架构减少了客户端的负担,只需一个Web浏览器即可访问服务器上的应用,大大降低了系统的部署和维护成本。 #### 常见动态网页技术对比 动态网页技术种类繁多,其中ASP.NET...

    基于php的b/s新闻发布系统

    综上所述,基于PHP的B/S新闻发布系统涉及了Web开发的多个方面,包括前后端技术、数据库管理、安全性、用户体验等。开发者需要掌握这些知识点,才能构建出高效、稳定且用户体验良好的新闻发布平台。

    SOAP:XML跨平台Web Service开发技术

    SOAP允许不同操作系统、编程语言和网络环境中的应用程序通过Internet进行通信,实现了真正的跨平台Web服务开发。 在深入理解SOAP之前,我们首先要明白Web服务的基本概念。Web服务是一种通过HTTP协议提供可被其他...

    最好用免费报表开发工具Grid++Report 6.7.5.1 (6.7.20.405) 含演示Demo例子模板

    B/S开发适用于ASP.NET(C# & VB.NET),PHP,JSP(JAVA)等,支持所有WEB服务器。开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。 1. 含C/S报表组件、WEB报表插件、HTML5...

    PHP在基于Web的管理信息系统的开发研究.pdf

    随着互联网和Web技术的进步,管理信息系统(MIS)已经从传统的客户端/服务器(C/S)模式转变为基于浏览器/服务器/数据库服务器(B/S/DBS)的三层架构。这种模式降低了客户端的需求,只需安装少量软件,而服务器承担...

    基于B_S模式使用PHP MySQL进行Web开发.pdf

    "基于B_S模式使用PHP MySQL进行Web开发" 本文档主要介绍了使用PHP和MySQL进行Web开发的技术,重点阐述了PHP和MySQL的特点,以及如何使用它们来开发动态网站。 首先,PHP是一种服务器端的、面向对象的脚本语言,它...

    PHP 房产网站系统Dreamweaver开发mysql数据库web结构php编程计算机网页项目 论文

    B/S 模式是 Browser/Server 模式的简称,指的是一种基于 web 的应用程序开发模式,客户端使用浏览器访问服务器,服务器端处理业务逻辑,返回结果给客户端。B/S 模式具有跨平台、灵活易用、维护方便等特点。 6. Web ...

Global site tag (gtag.js) - Google Analytics