使用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;
}
}
客户端
复制代码 代码如下:
/*
* 创建于 2011-10-12
* 作者 wanghao
*
* package_name/userLoginClient.php
*/
header("Content-Type: text/html;charset=utf-8");
// 拉入 NuSOAP 代码
require_once ("libs/nusoap.php");
// 创建客户端实例
$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';
//检查是否有错误
$err = $client->getError();
if ($err ) {
// 显示错误
echo '
' 。 $错误。 '';
';<BR> print_r($result);<BR> echo '' ;
' 。 $错误。 '';
';<br> print_r($result) ;<br> echo '';<br> }<br>}<br>echo '<br>';<br>$param=array('loginName'=>'小丽', 'loginPasswd'=>'123456');<br>$result = $client->call('login', $param);<br>// 检查是否有错误<br>if ($client-> ;故障) {<br> echo '</p> <h2>故障</h2><pre class="brush:php;toolbar:false">';<br> print_r($result);<br> echo '';<br>} else {<br> // 检查错误<br> $err = $client->getError();<br> if ($err) {<br> // 显示错误<br> echo '<h2>;错误</h2><pre class="brush:php;toolbar:false">' 。 $错误。 '';
';
print_r($result) ;
echo '';
}
}
?>