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 相关文章推荐
php无限遍历文件夹示例分享
Mar 04 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
php 自定义错误日志实例详解
Nov 12 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
详解phpstorm2020最新破解方法
Sep 17 PHP
PHP中的异常处理机制深入讲解
Nov 10 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编程函数安全篇
2013/01/08 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
生产车间实习自我鉴定
2013/09/23 职场文书
英文自荐信格式
2013/11/28 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
个人年终总结怎么写
2015/03/09 职场文书
办公室岗位职责范本
2015/04/11 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书