`
u177734357
  • 浏览: 16040 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java通过axis2调用webservice工具类

阅读更多
package cn.rx.oamp.util;

import java.net.MalformedURLException;
import java.rmi.RemoteException;
import java.util.Date;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.ser.ArrayDeserializerFactory;
import org.apache.axis.encoding.ser.ArraySerializerFactory;
import org.apache.axis.encoding.ser.Base64DeserializerFactory;
import org.apache.axis.encoding.ser.Base64SerializerFactory;
import org.apache.axis.utils.JavaUtils;

import cn.rx.oamp.pagemodel.ProgramPag;

public class CallWebServiceUtil {	
	
	/**
	 * 取得webservice操作
	 * 
	 * @param message
	 *            :传值数组
	 * @param method
	 *            :webservice 方法名
	 * @param url
	 *            :wsdl路径
	 * @param nameSpace
	 *            :webservice命名空间
	 * @param parameter
	 *            :webservice参数数组
	 * @return
	 */
	public static Object getWebService(String[] message, String method,
			String url, String nameSpace, String[] parameter) {
		Service service = new Service();
		Object obj = null;
		Call call;
		try {
			// 创建连接
			call = (Call) service.createCall();
			// 设置webservice地址
			call.setTargetEndpointAddress(new java.net.URL(url));
			// 设置调用的方法名(包含方法所在的命名空间)
			call.setOperationName(new QName(nameSpace, method));
			// 设置调用时需要传入的参数(包含参数所属方法所对应的命名空间)
			call.addParameter(new QName(nameSpace, parameter[0]),
					org.apache.axis.encoding.XMLType.XSD_STRING,
					javax.xml.rpc.ParameterMode.IN);
			call.addParameter(new QName(nameSpace, parameter[1]),
					org.apache.axis.encoding.XMLType.XSD_STRING,
					javax.xml.rpc.ParameterMode.IN);

			call.setUseSOAPAction(true);
			// 设置返回参数类型
			call.setReturnType(org.apache.axis.Constants.XSD_STRING);
			// 设置操作方法完整路径(包含命名空间与方法名)
			call.setSOAPActionURI(nameSpace + method);
			// 执行调用过程并传入调用时所需参数
			obj = call.invoke(new Object[] { message[0], message[1] });
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ServiceException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return obj;
	}
}

  说明:此工具类支持基本数据类型传递的webservice调用复杂类型需要自己封装pojo,且此工具类需要axis2jar包支持

分享到:
评论

相关推荐

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

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

    Java+Axis2调用Web Services 网络接口

    Java和Axis2是开发Web服务客户端的重要工具,用于调用基于SOAP协议的Web服务。本文将深入探讨如何利用Java和Axis2库来实现这一功能,同时结合提供的代码示例进行详细解析。 首先,Web服务是一种通过网络进行通信的...

    axis2发布webservice和调用axis2服务接口

    2. **使用Axis2的wsdl2java工具**:这个工具可以从WSDL文件生成Java客户端代码,包括服务代理类和服务接口。运行`wsdl2java`命令时,需要提供WSDL的URL或本地路径。生成的代码可以导入到项目中,方便调用服务。 3. ...

    java 通过axis调用天气预报的webservice

    标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...

    java axis 调用C# webService所需的jar包

    2. 使用wsdl2java命令(位于axis的bin目录下)从WSDL生成Java客户端 stub类。这将根据Web服务的定义自动生成对应的Java接口和实现。 3. 在Java代码中,实例化生成的stub类,并调用相应的方法。Stub类会处理与Web服务...

    axis2客户端调用webService接口,精简jar包

    总的来说,使用Axis2客户端调用WebService接口是一种常见的开发实践,通过精简jar包可以优化项目的体积,提高部署效率。理解这个过程并掌握如何精简jar包,对于任何涉及到Web服务的开发工作都是十分有益的。

    axis2调用webservice接口jar包

    2. **创建Stub**:调用WebService接口通常需要通过Stub(代理类)进行,这可以通过Axis2的wsdl2java工具生成。该工具会根据WebService的WSDL(Web Service Description Language)文件生成Java客户端代码。在命令行...

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    AXIS2远程调用WebService是Java开发者在进行分布式服务交互时常用的一种技术。本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这...

    java axis 调用webservice服务端

    这可以通过Axis的wsdl2java工具完成。运行该工具并指定WSDL文件路径,它将自动生成Java客户端类,这些类包含了调用WebService的方法。 2. **配置连接信息**:在生成的stub类中,我们需要设置服务端的URL以及可能的...

    使用axis轻松调用Webservice

    标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...

    Java动态调用webService,axis2动态调用webService

    本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java动态调用Web Service**: 在Java中,动态调用Web Service主要涉及到JAX-WS(Java ...

    java调用webservice的axis2.jar包

    Java调用WebService是Web服务交互的一种常见方式,而Axis2是一个高效的、可扩展的Web服务框架,它在Java世界中广泛用于创建和消费Web服务。本文将深入探讨使用Axis2.jar包来调用WebService的相关知识点。 一、Axis2...

    java axis 调用 .net webservice 短信收发

    2. **生成Java客户端代码**:使用Axis的wsdl2java工具,根据.WSDL文件生成Java客户端代码。这将包括一系列的Java类,它们封装了对WebService的调用逻辑。 3. **配置Axis客户端**:设置必要的连接参数,如WebService...

    java 调用https webservice实例及axis包

    2. **生成客户端代理类**:使用Axis的`wsdl2java`工具,从Web Service的WSDL(Web Service描述语言)文件生成Java客户端代理类。这一步可以通过命令行或者Ant脚本完成。 3. **配置HTTPS**:在生成的客户端代码中,...

    java axis调用第三方webservice程序demo

    在Java中使用Axis调用Webservice,首先需要引入必要的库文件。这些库通常包括axis.jar、axis-wsdl4j.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar和wsdl4j.jar等。这些库包含了处理SOAP消息、解析...

    Android axis调用Webservice

    - 服务发布后,可以通过Axis2的wsdl2java工具,根据服务的WSDL(Web Service Description Language)文件生成客户端所需的Java类(stubs)。 - 这些类将封装调用Web Service的具体方法,简化了调用流程。 4. **...

    java 实现 axis2 webservice

    Java Axis2 WebService 实现详解 在Java世界中,创建和使用Web服务是一个常见的任务,而Axis2是Apache软件基金会开发的一个高效的Web服务框架。它提供了丰富的功能,使得开发、部署和管理Web服务变得简单易行。本篇...

    Java WebService 简单实例 方式二(axis1直接调用方式)

    ### Java WebService 简单实例 方式二(axis1直接调用方式) #### 背景介绍 在软件开发领域,特别是在企业级应用中,Web服务作为一种标准的技术规范被广泛采用,它允许不同系统间进行通信与数据交换。Java Web ...

    axis2webservice接口例子

    Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个例子可能是为了帮助开发者理解和实践如何在实际项目中运用Axis2来构建Web服务。 描述中的“一个...

    利用AXIS调用webservice所需JAR包

    本篇文章将深入探讨如何利用AXIS调用WebService,以及所需的JAR包及其作用。 首先,理解AXIS的基本概念至关重要。Apache Axis是Apache软件基金会开发的一个开源项目,它是一个用于构建Web服务和客户端的工具集。...

Global site tag (gtag.js) - Google Analytics