LAMP环境 php的webservice接口

本文介绍了如何在LAMP环境中创建PHP WebService接口,并通过Android应用调用这些接口的实现过程。包括下载并配置nusoap库,编写server.php和test.php文件进行接口注册和服务测试,以及使用KSOAP2在Android中调用提供的Web服务。展示了从服务器端到客户端的完整Web服务交互流程。

http://blog.sina.com.cn/s/blog_7ceb20b90100uo6l.html

1.    创建LAMPphpwebservice接口

1.1   下载nusoap- 0.9.5.zip,解压缩后有两个文件夹:libsamples

1.2   Linux环境下,lib文件夹拷到/var/www/html文件夹中

1.3   在html文件夹下面创建server.php,提供了2webservice接口,代码如下:

<?php

      require_once("lib/nusoap.php");

      function hello()

      {

             return 'Hello World!';

      }

      function add($a,$b)

      {

             return $a+$b;

      }

      $soap = new soap_server();

      $soap->register('hello');

      $soap->register('add');

      $soap->service($HTTP_RAW_POST_DATA);

?>

1.4nusoap文件夹下面创建test.php,测试提供的webservice接口,代码如下:

<?php

      require_once("lib/nusoap.php");      

      $client = newnusoap_client("http://127.0.0.1/server.php");

      $str=$client->call('hello');

      echo $str;

      echo "</br>";

      $a=1;

      $b=3;

      $params2 = array('a'=>$a,'b'=>$b);

      $added = $client->call('add', $params2);

      echo $a."+".$b."=".$added;

?>

1.5在地址栏输入http://localhost//test.php,页面显示结果如下:

Hello World!
1+3=4

2.    Android应用程序调用phpwebservice接口

2.1在AndroidSDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。这里用的是KSOAP2。

下载ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar

2.2 导入jar包,新建工程,代码如下:

   publicvoid showResult(intx,inty)

   {

      try

      {

          SoapObject rpc =new SoapObject("http://192.168.1.211","add");

          rpc.addProperty("a", x);

          rpc.addProperty("b", y);

          SoapSerializationEnvelope envelope =new SoapSerializationEnvelope(SoapEnvelope.VER11);

          envelope.bodyOut= rpc;

          HttpTransportSE ht=newHttpTransportSE("http://192.168.1.211/nusoap/server.php");

         ht.debug=true;

          ht.call("http://192.168.1.211/add", envelope);

          Object a=(Object)envelope.getResponse();

          result.setText("计算结果:"+a.toString());

          return;

      }catch (Exception e)

      {

          System.out.print(e.toString());

       

   }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值