本篇文章主要是對PHP調用JAVA的WebService簡單實例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
使用PHP調用JAVA語言開發的WebService。 客戶端提交兩個String類型的參數,服務端返回一個對象類型。 服務端使用AXIS-1.4作為SOAP引擎。客戶端為PHP5.2.9,使用NuSOAP作為SOAP引擎。 服務端 對象類 代碼如下: import java.io.Serializable; public class Person implements Serializable { /** * */ private static final long serialVersionUID = -410186774891162281L; private String username; private int age; private boolean sex;// true:male;false:female public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean getSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } } 服務類 代碼如下: public class UserLogin { public Person login(String loginName, String loginPasswd) { Person aPerson = new Person(); if (loginName.equals("laoli") && loginPasswd.equals("111111")) { aPerson.setUsername("老李"); aPerson.setAge(55); aPerson.setSex(true); } else if (loginName.equals("xiaoli") && loginPasswd.equals("123456")) { aPerson.setUsername("小麗"); aPerson.setAge(23); aPerson.setSex(false); } else { aPerson = null; } return aPerson; } } 客戶端 代碼如下: <?php /* * Created on 2011-10-12 * Author wanghao * * package_name/userLoginClient.php */ header("Content-Type: text/html;charset=utf-8"); // Pull in the NuSOAP code require_once ("libs/nusoap.php"); // Create the client instance $client = new nusoapclient('http://localhost:8080/axis/services/UserLoginWS?wsdl', true); $client->soap_defencoding = 'utf-8'; $client->decode_utf8 = false; $client->xml_encoding = 'utf-8'; // Check for an error $err = $client->getError(); if ($err) { // Display the error echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; // At this point, you know the call that follows will fail } // Call the SOAP method $param=array('loginName'=>'laoli', 'loginPasswd'=>'111111'); $result = $client->call('login', $param); // Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; } else { // Display the result echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>'; } } echo '<br>'; $param=array('loginName'=>'xiaoli', 'loginPasswd'=>'123456'); $result = $client->call('login', $param); // Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; } else { // Display the result echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>'; } } ?>