`
heng.wang
  • 浏览: 1897 次
社区版块
存档分类
最新评论

java调用webservice接口

    博客分类:
  • Java
 
阅读更多
import java.net.URL;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import javax.xml.namespace.QName;
import org.apache.axis.AxisEngine;
import org.apache.axis.Constants;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.description.OperationDesc;
import org.apache.axis.description.ParameterDesc;
import org.apache.axis.soap.SOAPConstants;

public class TestWS {
	
	static OperationDesc [] _operations = new OperationDesc[9];
	
	public static void _initParam(String method,Map<String, String> params){
		OperationDesc oper = new OperationDesc();
		ParameterDesc param;
		oper.setName(method);
		Set<String> set = params.keySet();
		Iterator<String> iter = set.iterator();
		while (iter.hasNext()){
			String key = iter.next();
			param = new ParameterDesc(new QName("", key),ParameterDesc.IN,new QName("http://www.w3.org/2001/XMLSchema", "string"),java.lang.String.class, false, false);
			param.setOmittable(true);
			oper.addParameter(param);
		}
        oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        oper.setReturnClass(java.lang.String.class);
        oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
        oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
        oper.setUse(org.apache.axis.constants.Use.LITERAL);
        _operations[0] = oper;    
	}
	
	public static void initService(String ws_url,Map<String, String> params,String method){
		_initParam(method,params);
		int size = params.size();
		int i = 0;
		Object param[] = new Object[size];
		Set<String> set = params.keySet();
		Iterator<String> iter = set.iterator();
		while (iter.hasNext()){
			String key = iter.next();
			param[i] = params.get(key);
			i ++;
		}
		try {
			Service service = new Service();
			Call call = (Call) service.createCall();
			call.setOperation(_operations[0]);
			call.setUseSOAPAction(true);
			call.setSOAPActionURI("");
			call.setEncodingStyle(Constants.NS_PREFIX_SCHEMA_XSD);
			call.setProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE);
			call.setProperty(AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
			call.setSOAPVersion(SOAPConstants.SOAP11_CONSTANTS);
			call.setTargetEndpointAddress(new URL(ws_url));
			call.setOperationName(new QName(ws_url,method));
			String ret = (String) call.invoke(param);
			System.out.println(ret);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 	
	public static void main(String[] args) {
		String method = "method";//接口方法
		String xml = "xml";//接口参数
		String ws_url = "ws_url";//接口地址
		Map<String, String> params = new LinkedHashMap<String, String>();//使用linkedhashmap保持参数put的先后顺序与接口方法参数顺序一致
		params.put("xml", xml);//此处需要注意key值需要与接口方法的参数名字一致
		params.put("xml1", xml);//
		params.put("xml2", xml);//多个参数需要put多次,put的参数个数需要与接口参数个数一致
		initService(ws_url, params, method);
	}
}

 使用到一下jar,axis.jar、axis-ant.jar、commons-discovery-0.2.jar、commons-logging-1.0.4.jar、jaxrpc.jar、mail-1.4.jar、wsdl4j-1.5.1.jar

分享到:
评论

相关推荐

    JAVA调用WEBSERVICE接口

    JAVA调用WEBSERVICE接口

    java调用webservice接口方法

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

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

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

    java调用webservice接口方法.rar

    Java调用WebService接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...

    Java调用WebService接口的方法

    本文将深入探讨如何使用Java调用WebService接口,以实例分析有参方法Add的使用技巧。 首先,我们需要了解WebService的基础知识。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的Web应用程序,它能够通过HTTP...

    java调用webservice接口.zip

    本教程将深入探讨如何使用Axis库来实现在Java中调用WebService接口。Axis是一个开源的Java SOAP栈,它提供了从Java代码中创建和消费Web服务的能力。 **一、什么是WebService?** WebService是一种基于XML的协议,它...

    JAVA调用Webservice接口Demo

    本示例,"JAVA调用Webservice接口Demo",将向我们展示如何利用Java来与Webservice进行交互,主要包含两个功能:IP查询和根据省份查找城市。这个项目可以直接运行,方便开发者快速理解并应用到实际项目中。 首先,...

    nodejs和Java调用webservice接口总结.docx

    ### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...

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

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

    java调用webservice接口方法借鉴.pdf

    Java调用WebService接口的方法主要涉及两个关键点:一是理解WebService的工作原理,二是使用相应的Java库进行调用。本文将详细讲解这两个方面。 首先,WebService是一种基于标准的、平台和语言无关的通信方式,它...

    Java调用WebService接口jar包

    总之,Java调用WebService接口涉及多个库和jar包,通过理解相关概念和技术,可以有效地实现跨系统的数据交换。在实际开发中,根据项目需求选择合适的工具和库,合理优化,确保服务调用的稳定性和效率。

    java使用XFire调用webService接口

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

    java调用webservice接口方法[文].pdf

    Java 调用 Webservice 接口方法 Webservice 是一种基于网络的远程过程调用(RPC)机制,允许不同的系统之间进行交互和数据交换。Java 调用 Webservice 接口方法是将 Webservice 集成到 Java 应用程序中的一个重要...

    Java调用Webservice接口的jar包

    "Java调用Webservice接口的jar包"描述的可能是一个包含了一系列Java库的压缩包,这些库可以帮助开发者更容易地与Web服务交互。 首先,Java中用于调用Web服务接口的主要工具有 Axis2、JAX-WS(Java API for XML Web ...

    java调用webservice接口方法.pdf

    Java调用WebService接口是开发中常见的一种跨平台通信方式,主要通过SOAP(Simple Object Access Protocol)协议进行数据交换。在本篇文章中,我们将探讨如何在Java中调用WebService接口,特别是基于WSDL(Web ...

    java调用webservice接口方法.docx

    Java调用WebService接口是开发中常见的一种跨平台通信方式,主要通过SOAP(Simple Object Access Protocol)协议进行数据交换。在本篇文章中,我们将探讨如何在Java中调用基于WSDL(Web Service Description ...

    Java中如何通过https调用Webservice接口_测试环境.rar

    综上所述,通过Java调用HTTPS Web Service接口涉及的关键点包括证书的信任管理、自定义`SSLSocketFactory`以及正确处理网络请求。了解并掌握这些知识点,能帮助开发者在安全的环境中进行Web Service交互。

    java调用json参数的webservice

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

    JAVA调用webservice并解析xml

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

Global site tag (gtag.js) - Google Analytics