zoukankan      html  css  js  c++  java
  • PHP调用JAVA的WebService简单实例

    使用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三种工具pecl pear composer的区别
    【转】Git使用详细教程
    【转】chrome Network 过滤和高级过滤
    Python3第三方组件最新版本追踪实现
    Python3版本号比较代码实现
    模糊测试工具设计思路浅谈
    Python3+WebSockets实现WebSocket通信
    Python3+PyCryptodome实现各种加密算法教程
    HTTP漫谈
    Python3+Robot Framework+RIDE安装使用教程
  • 原文地址:https://www.cnblogs.com/kluan/p/5957242.html
Copyright © 2011-2022 走看看