`
悟⑤道
  • 浏览: 12692 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java间的webservice调用

    博客分类:
  • java
阅读更多
    最近一直在做webservice的调用,刚开始双方的接口一致在变,我的调用也跟着变了N多次,但发现变来变去调用也就那么几行代码就搞定,现总结如下:
    调用方式一:
        RPC调用,调用比较简单,注意一下设置输入输出参数就ok。代码如下:
Service service = new Service();
		try{
			Call call = (Call)service.createCall();
			//设置url
			call.setTargetEndpointAddress(new URL(url));
			//注册服务端命名空间
//			QName qn = new QName("urn:server","beanName");
			//注册返回值arrayList中的javabean,这里使用map代替,如果使用该bean需要服务端在wsdd文件中做相关配置
//			call.registerTypeMapping(bean.class, qn,new BeanSerializerFactory(bean.class,qn), new BeanDeserializerFactory(bean.class,qn));
			//设置请求服务及服务方法,具体名称需要根据wsdl来填
			call.setOperation(new QName("server"), "method");
			//设置返回值类型,这里返回的list
			call.setReturnClass(ArrayList.class);
			//设置输入参数,data1、data2需要根据wsdl中的名称来填,如果输入参数为map或list 中间参数为XMLType.XSD_HEXBINARY
			call.addParameter("date1", XMLType.XSD_STRING, ParameterMode.IN);
			call.addParameter("date2", XMLType.XSD_STRING, ParameterMode.IN);
			Calendar cal = Calendar.getInstance();
			String now = df.format(cal.getTime());
			cal.add(Calendar.HOUR_OF_DAY, -1);
			String pre = df.format(cal.getTime());
			Object[] param = new Object[]{pre,now};
			//直接调用
			ArrayList returnMap = (ArrayList)call.invoke(param);
			System.out.println("======" + returnMap.size());
			for (Object object : returnMap) {
				HashMap map = (HashMap)object;
				Set<Map.Entry<String,String>> me = map.entrySet();
				Iterator<Entry<String,String>> it = me.iterator();
				while(it.hasNext()){
					Entry<String,String> en = it.next();
					System.out.println("key:" + en.getKey() + "==value:" + en.getValue());
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}

详细开发配置见附件。
    调用方式二:stub调用,这种调用方式需要借助axis提供的工具根据wsdl生成客户端代码(eclipse已集成该工具),生成客户端后将生成的代码拷入工程中再进行调用,调用方式很简单,见代码:
//工具会生成*serviceLocator类,通过该类调用服务端
			ServiceLocator tssl = new ServiceLocator();
			//通过locator类生成服务端			
			TService service = tssl.getTService(new URL(url));
			//通过service直接调用服务端方法
			HashMap returnMap = service.reqOpt(reqMap);

分享到:
评论
2 楼 悟⑤道 2012-03-20  
杰傲江湖 写道
requestOpAuth

1 楼 杰傲江湖 2012-03-20  
requestOpAuth

相关推荐

    java调用webservice.zip

    java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...

    java调用webservice接口案例,service调用webservice接口

    java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰

    JAVA调用WEBSERVICE接口

    JAVA调用WEBSERVICE接口

    java 调用 odi webservice

    ODI(Oracle Data Integrator)是一种数据集成平台,提供了webservice接口,允许用户通过webservice调用ODI方案执行,从而实现数据的同步。 在本文档中,我们将通过 Java 应用程序调用 ODI webservice,实现数据的...

    java 调用 webService工具类

    在Java中,大多数传统的WebService调用使用SOAP,这是一个基于XML的消息传递协议。SOAP消息封装在HTTP请求中,使得跨平台的数据交换成为可能。Java中的JAX-WS(Java API for XML Web Services)框架是处理SOAP ...

    java调用json参数的webservice

    在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...

    JAVA 调用SAP SOAP webservice.docx

    JAVA 调用 SAP SOAP webservice 详解 在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息、创建 java 项目、添加 web 服务客户端、生成 JAVA 类、调用接口等步骤。 配置 SAP...

    Java Axis 直接调用webservice 接口工具类

    Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;

    java+soap+webservice 调用模拟

    通过阅读提供的"java-soap-webservice"文档,你可以进一步了解具体的实现步骤,包括如何设置项目、配置JAX-WS、生成客户端代码、编写调用服务的代码,以及如何解析响应。实践中,不断动手操作和调试是掌握这一技术的...

    JAVA调用webservice并解析xml

    2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...

    Java调用WebService接口的方法

    7. **调用方法**:最后,通过`call.invoke()`方法执行实际的WebService调用。此方法接收一个参数数组,其中包含所有输入参数的值。在成功调用后,返回的结果会被转换为预期的类型(在这个例子中是`Integer`)。 8. ...

    java调用webservice工程

    Java调用WebService工程是将Java应用程序与通过WebService接口提供的服务进行交互的过程。WebService是一种基于XML标准的、平台和语言无关的通信方式,它允许不同系统间的应用能够共享数据和服务。在Java中,我们...

    java调用C++ webservice

    本话题主要探讨如何使用Java调用由C++实现的Web服务(Webservice)。在给出的描述中,提到了通过WSDL(Web Services Description Language)文件来实现这一目标。以下是关于这个主题的详细知识点: 1. **Web服务...

    Java - Webservice调用方式详解

    Java - Webservice调用方式详解

    asp.net通过WebService调用Java接口全过程

    总结来说,ASP.NET通过WebService调用Java接口的过程主要包括:部署Java WebService、在.NET项目中添加Web引用、配置项目设置、在代码中实例化并调用服务方法,以及理解背后涉及的SOAP和RMI通信机制。这个过程允许...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    java调用webservice接口方法

    Java调用WebService接口方法是Java开发中常见的任务,尤其在分布式系统和跨平台通信中扮演着重要角色。这里我们主要探讨使用Apache Axis库来实现这一功能。Apache Axis是一款开源工具,它提供了Java到SOAP(简单对象...

    Java+Webservice调用方式详解

    ### Java+Webservice调用方式详解 #### 一、引言 随着互联网技术的发展与企业级应用需求的增长,Web服务(Webservice)作为一种基于XML的标准协议,在不同平台间实现服务互操作方面扮演着越来越重要的角色。Java...

Global site tag (gtag.js) - Google Analytics