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 相关文章推荐
一个更简单的无限级分类菜单代码
Jan 16 PHP
PHP伪静态页面函数附使用方法
Jun 20 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
深入理解PHP中的global
Aug 19 PHP
php随机取mysql记录方法小结
Dec 27 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 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
destoon官方标签大全
2014/06/20 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
对于js垃圾回收机制的理解
2017/09/14 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
对Python中type打开文件的方式介绍
2018/04/28 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
python add_argument()用法解析
2020/01/29 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
求职者应聘的自我评价
2013/10/16 职场文书
爱护公共设施的标语
2014/06/24 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android