WebService之axis2的使用(四)

                         传递一个复杂的参数

例如在server端有类如下

package simple;

 

public class Hello {

    public Hello(){};

   

    public String sayHello(JavaBean javaBean){

       System.out.println("hello"+javaBean.getName());

       return "hello"+javaBean.getName();

    }

}

 

以及对应的一个类名为JavaBean的类

那这时如何传递参数呢。

在我们生成的客户端stub代码中其实包含了该参数所引用的类的描述,即在sutb类中包含了一个JavaBean的内部类

下面是具体的客户端调用时设置参数的方法

 

import java.rmi.RemoteException;

 

import org.apache.axis2.AxisFault;

 

public class Test {

   

    public static void main (String []args) throws RemoteException{

       HelloWSStub stub = new HelloWSStub();//new一个stub对象

      

       HelloWSStub.SayHello sayHello = new HelloWSStub.SayHello();//获取到暴露的sayHello对象

      

       /**

        * 注意这里,客户端自动生成的stub代码已经包含了复杂参数对应的类作为内部类,

        * 所以在这里我们就可以实例化这个类,切忌是HelloWSStub的内部类哦

        */

       HelloWSStub.JavaBean javaBean = new HelloWSStub.JavaBean();

        /**

        *

        * 设置我们传递参数具体的值

        * */

       javaBean.setName("张飞");

      

       /**

        * 设置调用sayHello方法时需要传递的参数

        * */

       sayHello.setJavaBean(javaBean);

      

       HelloWSStub.SayHelloResponse response = stub.sayHello(sayHello);//获取执行后的返回值

      

       System.out.println("Response : " + response.get_return());//打印

    }

}

附件包括源码以及生成后的*.aar文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值