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();//调用

时间: 2024-10-24 15:25:21

java调用(axis2)WebService传递对象类型参数(源码)的相关文章

用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获

用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值! 用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型.double和DateTime类型的值(在服务端得到的均为null) 解决办法: VS2005封装WebService引用 用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属

Java利用webservice创建接口案例源码

环境要求: JDK1.7,并配置Java的环境变量 BaseDao  接口: /** * 要使得成为一个可供访问的接口,必须添加:@WebService * */ @WebServicepublic interface BaseDao {    //添加一个加法的接口        @WebResult(name="addddddre")    public int add(@WebParam(name="add01")int a,@WebParam(name=&q

Java调用doNet webService方法

doNet的webService 浏览器访问测试地址:http://192.168.4.17/JLWWS/sendCommand.asmx,出现 点击getDeviceValue方法,出现 上图的xml代码再贴一遍: POST /JLWWS/sendCommand.asmx HTTP/1.1 Host: 192.168.4.17 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tem

Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解ArrayList.先对ArrayLis

Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和

java中的==、equals()、hashCode()源码分析(转载)

在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. ==  java中的==是比较两个对象在JVM中的地址.比较好理解.看下面的代码: 1 public class ComAddr{ 2 public static void main(String[] args) throws Exception { 3 String s1 = "nihao"; 4 String s2 = "nihao"; 5 Str

【小白的java成长系列】——顶级类Object源码分析

首先来说一下api文档使用,api这个词对有一定开发经验的java编程人员来说是很喜爱的~ java当然也提供了api开发文档,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 找到下面的: 下载自己喜爱的版本即可,解压,点击~/jdk-7u60-apidocs/api/index.html就可以查看其api了: 跟上网一样一样的,点击相应链接就可以查看其信息了. 进入正题,说说Object这个类: 先

Qt元对象系统源码解析

Qt元对象系统源码解析 https://blog.51cto.com/9291927/2070348 一.Qt元对象系统简介 1.元对象系统简介 Qt 的信号槽和属性系统基于在运行时进行内省的能力,所谓内省是指面向对象语言的一种在运行期间查询对象信息的能力, 比如如果语言具有运行期间检查对象型别的能力,那么是型别内省(type intropection)的,型别内省可以用来实施多态.C++的内省比较有限,仅支持型别内省, C++的型别内省是通过运行时类型识别(RTTI)(Run-Time Typ

Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要  和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码:最后再通过实例来学会使用LinkedList.内容包括:第1部分 LinkedList介绍第2部分 LinkedList数