经过封装过的:
public class DotNetWebService_Caller {
static Logger log = Logger.getLogger(DotNetWebService_Caller.class);
public static Object getInstance(String service_url, String namespace,
String dotNetMethodName, Object inputObj, Object outputObj) throws RemoteException{
Object resultObj = null;
// 创建WebService调用
Service service = new Service();
Call call = null;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(service_url));
} catch (MalformedURLException e) {
log.info("与基于DotNet的webService的URL建立连接时,出异常!",e);
e.printStackTrace();
} catch (ServiceException e1) {
log.info("调用DotNet的webservice时,createCall()出异常!",e1);
e1.printStackTrace();
}
// 设置调用的方法
OperationDesc oper = new OperationDesc();
oper.setName(dotNetMethodName);
ParameterDesc param = new ParameterDesc(new QName(namespace,
dotNetMethodName), ParameterDesc.IN, new QName(namespace,
dotNetMethodName), inputObj.getClass(), false, false);
oper.addParameter(param);
// --设置返回类型--开始--
oper.setReturnType(new QName(namespace, outputObj.getClass()
.getSimpleName()));
oper.setReturnClass(outputObj.getClass());
oper.setReturnQName(new QName(namespace, outputObj.getClass()
.getSimpleName()));
oper.setStyle(Style.DOCUMENT);
oper.setUse(Use.LITERAL);
// --设置返回类型--结束--
call.setOperation(oper);
// 设置方法名
call.setOperationName(new QName(namespace, dotNetMethodName));
// 设置call的其他属性
call.setUseSOAPAction(true);
call.setSOAPActionURI(namespace + dotNetMethodName);
call.setEncodingStyle(null);
call.setProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE);
call.setProperty(AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
call.setSOAPVersion(SOAPConstants.SOAP11_CONSTANTS);
/*
* // 设置方法的输入参数 GetReceiptShowMsg parameters = new GetReceiptShowMsg();
* parameters.setMobileOAEmailAddress(MobileOAEmailAddress);
* parameters.setPageNum(pageNum); parameters.setItemNum(itemNum);
* parameters.setSelField(selField);
*/
// 调用方法
//System.out.println("inputObj:="+inputObj);
resultObj = call.invoke(new Object[] { inputObj });
//System.gc();
return resultObj;
}
}
分享到:
相关推荐
Java调用.NET的WebService接口实例,jar包删减到三个,干净清爽,里面包含注多注释和图解,搞了半天的家伙拿出来与大家分享,无任何BUG,修改里面的参数即可直接运行,对于这种好东西,花了半天时间10分不算高,重在...
本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...
【Java 调用 .NET WebService 基础知识】 在软件开发中,跨平台交互是常见的需求,Java 和 .NET 平台之间的通信可以通过 WebService 实现。本篇将详细讲解如何使用 Java 调用 .NET 开发的 WebService。 1. **...
Java Axis调用.NET WebService实现短信收发是一个跨平台、跨语言的通信技术应用实例。在本文中,我们将深入探讨这个主题,了解如何利用Java的Axis框架与.NET环境中的WebService进行交互,特别是在短信发送和接收方面...
在Java中调用.NET Web服务涉及的技术主要是SOAP(Simple Object Access Protocol)和WS-I(Web Services Interoperability),因为.NET Web服务通常是基于这些标准构建的。为了实现这种跨平台通信,Java开发者需要...
Java调用.NET WebService是跨平台通信的一种常见方式,尤其在企业级应用中,不同技术栈的应用需要相互交互数据时,这种技术尤为实用。Apache Axis是Java中常用的用于调用Web服务的工具,它提供了方便的API来创建和...
### Android调用.NET WebService详解 #### 一、概述 在Android开发中,与服务器进行交互是必不可少的一个环节。常见的交互方式包括HTTP请求、RESTful API等,而WebService作为一种传统但依然广泛使用的通信协议,...
在IT行业中,跨平台通信...总之,Java通过JAX-WS可以轻松地调用.NET Web服务。在处理涉及Cookie的会话时,关键在于正确设置请求头并解析响应头中的Cookie信息。了解这些机制有助于构建可靠、健壮的跨平台通信解决方案。
Java调用.NET的Web服务(WebService)是一种跨平台、跨语言的通信方式,它允许不同技术栈的应用程序之间共享功能和服务。在这个场景中,Java应用作为客户端,通过HTTP协议调用由.NET框架构建的Web服务。本文将详细...
java调用.net webservice
总之,Java调用.NET/C#的Web服务是一个涉及网络通信、SOAP协议、类型转换等多个技术层面的过程,需要对Java和.NET平台都有一定的理解。正确配置和使用相关的工具库,可以有效地实现跨平台的通信。
java采用axis调用.net写的WebService,WebService的参数有传人和传出,传出的参数为ref,java端ParameterMode.OUT,传人的为ParameterMode.IN,WebService返回值为String,java利用Map取传出参数,对Map进行遍历取得...
标题提到的“用java调用.net接口的方法”就是解决这个问题的一种技术实践。以下将详细讲解三种主要的实现方式,以及如何通过提供的源代码进行操作。 首先,我们要理解Java和.NET之间的互操作性通常依赖于Web服务...
ASP.NET调用Java接口主要涉及的是跨平台的通信技术,其中关键步骤是通过WebService作为中间桥梁来实现。这里,我们详细解析整个过程: 1. **部署Java WebService**: - 使用Tomcat这样的应用服务器部署Java ...
- 在“javadot.doc”文件中,可能会详细描述Java应用程序如何使用JAX-WS调用.NET Web服务的步骤,包括解析WSDL,生成客户端代理类,以及如何通过这些代理类调用服务。 - “Web Service调用方式.doc”可能涵盖了...
总的来说,Java调用.NET的Web服务主要涉及对WSDL的理解、客户端代理的生成和Web服务方法的调用。无论是使用Axis还是XFire,都遵循类似的步骤。选择哪种方式取决于项目需求,如性能、易用性、社区支持等因素。理解...
在Java中调用.NET编写的ASMX WebService是一种常见的跨平台交互方式,允许Java应用程序利用.NET框架提供的服务。本文将详细介绍如何使用Apache Axis库来实现这一功能,以及处理.NET WebService返回的对象,特别是...
本示例探讨的主题是“Java调用.NET Web Service”,这涉及到不同技术栈之间的互操作性,主要利用了Java的SOAP(Simple Object Access Protocol)客户端库来与.NET的Web服务进行通信。下面我们将详细解析这一过程。 ...
本文将深入探讨如何使用POST方式在.NET中调用.NET和Java编写的Web服务,并以XML作为请求数据格式。以下是对这个主题的详细阐述: 1. **什么是Web服务**: Web服务是一种基于互联网的软件应用,允许不同系统间的...
在这个场景下,我们将探讨如何利用`HttpURLConnection`来调用.NET平台上的WebService服务。 **一、HttpURLConnection简介** `HttpURLConnection`是Java `java.net`包中的一个类,它提供了HTTP协议的连接、读写功能...