您的位置:首页 > 编程语言 > PHP开发

PHP调用JAVA的WebService实例

2011-11-04 15:04 621 查看
使用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>';

}

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: