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 相关文章推荐
配置支持SSI
Nov 25 PHP
php 8小时时间差的解决方法小结
Dec 22 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
php自定义session示例分享
Apr 22 PHP
php实现mysql封装类示例
May 07 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 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
php读取文件内容的方法汇总
2015/01/24 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
使用JS获取SessionStorage的值
2018/01/12 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
django实现用户登陆功能详解
2017/12/11 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
Python File(文件) 方法整理
2019/02/18 Python
python文件操作的简单方法总结
2019/11/07 Python
python推导式的使用方法实例
2021/02/28 Python
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
法律进学校实施方案
2014/03/15 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
2015年推普周活动总结
2015/03/27 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
html5调用摄像头实例代码
2021/06/28 HTML / CSS
python turtle绘图
2022/05/04 Python