zoukankan      html  css  js  c++  java
  • java调用(axis2)WebService传递对象类型参数(源码)

    温馨提示:axis2 jar包哟


        public static String pubRemoteFuc() {
            
            String endpoint = "http://cnblogs.com/qgc/xxxx/Service?wsdl";
            String result = "error";
            Service service = new Service();
            Call call;


            //参数对象
            SearchInfoVo d=new SearchInfoVo();
            d.setName("李建");
            d.setCardNum("44xxxxx");
       
            
            Object[] object = new Object[1];
            object[0] = d;//Object是用来存储方法的参数
            try {
                call = (Call) service.createCall();
                call.setTargetEndpointAddress(endpoint);// 远程调用路径
                  QName qn = new QName("http://nciic.com.cn", "check" ); //接口的命名空间,请根据您的实际接口填写,和方法名称:<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:nci="http://nciic.com.cn" 

       
                    call.setOperationName(qn);
                    //设置参数的类型(这里是实体对象“SearchInfoVo”)http://cnblogs.com/qgc
                  call.registerTypeMapping(SearchInfoVo.class,qn,  
                            new BeanSerializerFactory(SearchInfoVo.class, qn),  
                            new BeanDeserializerFactory(SearchInfoVo.class, qn));  
                  call.addParameter("arg0", qn, ParameterMode.IN );  //"arg0"不用改哟,我这里只有一个参数,并且参数是一个实体对象  http://cnblogs.com/qgc
    //            // 设置参数名:http://cnblogs.com/qgc
    //            call.addParameter("name", // 参数名
    //                    XMLType.XSD_STRING,// 参数类型:String
    //                    ParameterMode.IN);// 参数模式:'IN' or 'OUT'
    /*            // 设置参数名:http://cnblogs.com/qgc
                call.addParameter("cardNum", // 参数名
                        XMLType.XSD_STRING,// 参数类型:String
                        ParameterMode.IN);// 参数模式:'IN' or 'OUT'
                // 设置参数名:http://cnblogs.com/qgc
                call.addParameter("citizenId", // 参数名
                        XMLType.XSD_STRING,// 参数类型:String
                        ParameterMode.IN);// 参数模式:'IN' or 'OUT'
    */            // 设置返回值类型:
                //call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String
                call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String

                result = (String) call.invoke(object);// 远程调用
                System.out.println(result);
            } catch (ServiceException e) {
                e.printStackTrace();
            } catch (RemoteException e) {
                e.printStackTrace();
            }
            return result;
        }

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

    pubRemoteFuc();//调用

  • 相关阅读:
    《更好的解释(数学篇)》——第一章
    流密码及RC4算法ZZ
    Android
    Android中Handler 、Thread和Runnable之间的关系ZZ
    Android之Handler消息传递机制详解zz
    abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之四(三十)
    abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之三(二十九)
    abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之二(二十八)
    abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)
    abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)
  • 原文地址:https://www.cnblogs.com/qgc88/p/7008136.html
Copyright © 2011-2022 走看看