• 技术文章 >后端开发 >php教程

    PHP调用JAVA的WebService简单实例_php技巧

    2016-05-17 08:48:01原创439
    使用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;
    }

    }


    客户端
    复制代码 代码如下:

    /*
    * 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 '

    Constructor error

    ' . $err . '
    ';
    // 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 '

    Fault

    ';
    print_r($result);
    echo '
    ';
    } else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
    // Display the error
    echo '

    Error

    ' . $err . '
    ';
    } else {
    // Display the result
    echo '

    Result

    ';
    print_r($result);
    echo '
    ';
    }
    }
    echo '
    ';
    $param=array('loginName'=>'xiaoli', 'loginPasswd'=>'123456');
    $result = $client->call('login', $param);
    // Check for a fault
    if ($client->fault) {
    echo '

    Fault

    ';
    print_r($result);
    echo '
    ';
    } else {
    // Check for errors
    $err = $client->getError();
    if ($err) {
    // Display the error
    echo '

    Error

    ' . $err . '
    ';
    } else {
    // Display the result
    echo '

    Result

    ';
    print_r($result);
    echo '
    ';
    }
    }
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:调用WebService
    上一篇:PHP中isset()和unset()函数的用法小结_php实例 下一篇:PHP加Nginx实现动态裁剪图片方案_php实例
    Web大前端开发直播班

    相关文章推荐

    • 深入浅析PHP文件包含漏洞• php自己实现memcached的队列类_PHP教程• 装饰器模式,装饰模式_PHP教程• PHP多线程之内部多线程实例分析,php多线程实例分析_PHP教程• symfony表单与页面实现技巧,symfony表单技巧_PHP教程
    1/1

    PHP中文网