PHP调用JAVA的WebService简单实例


Posted in PHP onMarch 11, 2014

使用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>';
    }
}
?>
PHP 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
利用static实现表格的颜色隔行显示
Oct 09 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
php显示时间常用方法小结
Jun 05 PHP
PHP通过串口实现发送短信
Jul 08 PHP
php将金额数字转化为中文大写
Jul 09 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 #PHP
Yii操作数据库的3种方法
Mar 11 #PHP
php导出excel格式数据问题
Mar 11 #PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 #PHP
php设置允许大文件上传示例代码
Mar 10 #PHP
php如何解决无法上传大于8M的文件问题
Mar 10 #PHP
php中3种方法删除字符串中间的空格
Mar 10 #PHP
You might like
php4的session功能评述(二)
2006/10/09 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
composer.lock文件的作用
2016/02/03 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
js数组去重的hash方法
2016/12/22 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python-接口开发入门解析
2019/08/01 Python
甜点店创业计划书
2014/01/27 职场文书
《乡愁》教学反思
2014/02/18 职场文书
财务内勤岗位职责
2014/04/17 职场文书
保护环境建议书400字
2014/05/13 职场文书
应届生求职自荐信
2014/07/04 职场文书
新党章心得体会
2014/09/04 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
党支部对转正的意见
2015/06/02 职场文书
怒海潜将观后感
2015/06/11 职场文书
win sever 2022如何占用操作主机角色
2022/06/25 Servers