LAMP环境 php的webservice接口

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());

      }  

   }

 

你可能感兴趣的:(LAMP环境 php的webservice接口)