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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
学习使用PHP数组
Oct 09 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
php安装swoole扩展的方法
Mar 19 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
php传值和传引用的区别点总结
Nov 19 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 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图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
JavaScript 原型与继承说明
2010/06/09 Javascript
jQuery示例收集
2010/11/05 Javascript
jquery 使用简明教程
2014/03/05 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
Python深入学习之特殊方法与多范式
2014/08/31 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python 对象和json互相转换方法
2018/03/22 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
python树的同构学习笔记
2019/09/14 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
法院授权委托书范文
2014/08/02 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
评先进个人材料
2014/12/29 职场文书
仓管员岗位职责
2015/02/03 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript