当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP调用JAVA的WebService简单实例

发布:smiling 来源: PHP粉丝网  添加日期:2020-10-26 10:28:28 浏览: 评论:0 

本篇文章主要是对PHP调用JAVA的WebService简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助。

使用PHP调用JAVA语言开发的WebService。

客户端提交两个String类型的参数,服务端返回一个对象类型。

服务端使用AXIS-1.4作为SOAP引擎。客户端为PHP5.2.9,使用NuSOAP作为SOAP引擎。

服务端

对象类

代码如下:

  1. import java.io.Serializable; 
  2.  
  3. public class Person implements Serializable {     
  4.     /** 
  5.      *  
  6.      */ 
  7.     private static final long serialVersionUID = -410186774891162281L; 
  8.     private String username; 
  9.     private int age; 
  10.     private boolean sex;// true:male;false:female 
  11.  
  12.     public String getUsername() { 
  13.         return username; 
  14.     } 
  15.  
  16.     public void setUsername(String username) { 
  17.         this.username = username; 
  18.     } 
  19.  
  20.     public int getAge() { 
  21.         return age; 
  22.     } 
  23.  
  24.     public void setAge(int age) { 
  25.         this.age = age; 
  26.     } 
  27.  
  28.     public boolean getSex() { 
  29.         return sex; 
  30.     } 
  31.  
  32.     public void setSex(boolean sex) { 
  33.         this.sex = sex; 
  34.     } 

服务类代码如下:

  1. public class UserLogin { 
  2.  
  3.     public Person login(String loginName, String loginPasswd) { 
  4.         Person aPerson = new Person(); 
  5.         if (loginName.equals("laoli") && loginPasswd.equals("111111")) { 
  6.             aPerson.setUsername("老李"); 
  7.             aPerson.setAge(55); 
  8.             aPerson.setSex(true); 
  9.         } else if (loginName.equals("xiaoli") && loginPasswd.equals("123456")) { 
  10.             aPerson.setUsername("小丽"); 
  11.             aPerson.setAge(23); 
  12.             aPerson.setSex(false); 
  13.         } else { 
  14.             aPerson = null; 
  15.         } 
  16.         return aPerson; 
  17.     } 
  18.  

客户端代码如下:

  1. <?php 
  2.  
  3. /* 
  4.  * Created on 2011-10-12 
  5.  * Author wanghao 
  6.  * 
  7.  * package_name/userLoginClient.php 
  8.  */ 
  9. header("Content-Type: text/html;charset=utf-8"); 
  10. // Pull in the NuSOAP code 
  11. require_once ("libs/nusoap.php"); 
  12. // Create the client instance 
  13. $client = new nusoapclient('http://localhost:8080/axis/services/UserLoginWS?wsdl', true); 
  14. $client->soap_defencoding = 'utf-8'
  15. $client->decode_utf8 = false; 
  16. $client->xml_encoding = 'utf-8'
  17. // Check for an error 
  18. $err = $client->getError(); 
  19. if ($err) { 
  20.     // Display the error 
  21.     echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'
  22.     // At this point, you know the call that follows will fail 
  23. // Call the SOAP method 
  24. $param=array('loginName'=>'laoli''loginPasswd'=>'111111'); 
  25. $result = $client->call('login'$param); 
  26. // Check for a fault 
  27. if ($client->fault) { 
  28.     echo '<h2>Fault</h2><pre>'
  29.     print_r($result); 
  30.     echo '</pre>'
  31. else { 
  32.     // Check for errors 
  33.     $err = $client->getError(); 
  34.     if ($err) { 
  35.         // Display the error 
  36.         echo '<h2>Error</h2><pre>' . $err . '</pre>'
  37.     } else { 
  38.         // Display the result 
  39.         echo '<h2>Result</h2><pre>'
  40.         print_r($result); 
  41.         echo '</pre>'
  42.     } 
  43. echo '<br>'
  44. $param=array('loginName'=>'xiaoli''loginPasswd'=>'123456'); 
  45. $result = $client->call('login'$param); 
  46. // Check for a fault 
  47. if ($client->fault) { 
  48.     echo '<h2>Fault</h2><pre>'
  49.     print_r($result); 
  50.     echo '</pre>'
  51. else { 
  52.     // Check for errors 
  53.     $err = $client->getError(); 
  54.     if ($err) { 
  55.         // Display the error 
  56.         echo '<h2>Error</h2><pre>' . $err . '</pre>'
  57.     } else { 
  58.         // Display the result 
  59.         echo '<h2>Result</h2><pre>'
  60.         print_r($result); 
  61.         echo '</pre>'
  62.     } 
  63. ?> 

Tags: PHP调用JAVA WebService

分享到: