最近用到了webservice,总结一下,主要是以下两点。
一.java的webservice client调用 C#的webservice
二.C#的webservice client调用 java的webservice
下面详细的说明一下,主要是java的client和service的说明,C#不熟。
一.java的webservice client调用 C#的webservice
1.写一个java的webservice client调用的通用类,代码如下:
package com.gdmes.core.utils.webservice;
import org.apache.cxf.endpoint.dynamic.DynamicClientFactory;
import org.apache.cxf.endpoint.Client;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Description: WebService客户端通用类
* @author zhaochuuhua
*
*/
public class WebServiceClientHelper {
public static Logger logger = LoggerFactory.getLogger("WebServiceClientHelper");
/**
* @Title: callService
* @Description: 调用远程的webservice并返回数据
* @param wsUrl
* ws地址
* @param method
* 调用的ws方法名
* @param arg
* 参数
* @return:Object
* @throws
*/
public static Object callService(String wsUrl, String method, Object[] param) {
DynamicClientFactory dcf = DynamicClientFactory.newInstance ();
Client client = dcf.createClient( wsUrl );
Object res = null;
try {
res = client.invoke( method, param );
} catch (Exception e) {
logger.error("调用远程的webservice异常-"+e.getMessage());
}
return res;
}
}
2.C# webservice返回的是List<数据对象>的数据格式,可以通过MyEclipse工具生成要用到数据对象,如下图:
之后,可以看一下是怎么调用的了、代码如下:
/**
* **********************
* @param stationcode *******
* @param date yyyy-mm-dd
* @return
*/
public String syncMarketDataClientMethod(String stationcode, String date){
String ipAdress = PropertyUtils.getPropertyValue(ConstantQuantity.getAPP_CONF_FILE(), IP_ADRESS);
String wsUrl = "http://"+ipAdress+"/test/test.asmx?wsdl";
String method = "syncMarketData";
Object reply = (Object[])WebServiceClientHelper.callService(wsUrl, method, new Object[]{stationcode, date});
Object[] obj = (Object[])reply;
if(obj != null){
ArrayOfMarketData arrayMarketData = (ArrayOfMarketData) obj[0];
ArrayList<MarketData> list = (ArrayList<MarketData>)arrayMarketData.getMarketData();
if(list != null && list.size() > 0){
//重复生成数据的校验
if(this.isExistTodayOfDataAtRundataTbl(stationcode, ConstantQuantity.getDAILYMARKETKIND(), date) == EXIST){
//该天的数据已经生成过了,可直接查询
return "exist";
}else{
//根据配置表的信息生成数据
return this.insertMarketData(stationcode, list);
}
}else{
return "empty";
}
}else{
return "empty";
}
}
分享到:
相关推荐
本文将对Web服务的使用进行详细总结,涵盖了基础概念、技术栈、实现过程以及常见问题。 一、Web服务基础 1.1 WebService定义:WebService是一种通过XML(可扩展标记语言)进行通信的网络应用,它可以提供和消费API...
delphi开发webservice经验总结
用delphi调用dotnet开发的webservice经验总结,包含汉字乱码,soapheader安全验证的问题。
以下是对这个实例的详细解析和相关知识点的总结: 1. JavaScript调用机制: JavaScript通过XMLHttpRequest对象或者ActiveXObject(在旧版IE浏览器中)来实现对WebService的调用。在示例中,使用了ActiveXObject,这...
WebService学习过程中,知识点的总结,和例子。
**WebService和Ajax总结** 在IT领域,WebService和Ajax是两种重要的技术,它们分别在Web应用程序的交互和用户体验提升上发挥了重要作用。本篇文章将全面探讨这两种技术的原理、应用及其在.NET环境下的实现。 **一...
### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...
CXF 实现WebService常用注解总结 CXF 实现WebService时,使用注解来指定与WebService相关的元数据,简化WebService的开发。下面总结了CXF实现WebService常用注解。 @WebService注解 @WebService注解标记Java类,...
标题中的“闲着没事Hessian开发WebService的总结(一)”表明这是一篇关于使用Hessian框架开发Web服务的文章,作者可能在其中分享了个人的经验和理解。Hessian是一种轻量级的远程调用协议,它允许Java和.NET之间进行...
eclipse创建Webservice以及调用Webservice总结
4. **C#与WebService**:在C#中,使用`[WebService]`和`[WebMethod]`特性标记类和方法,即可将其公开为WebService。例如,`[WebService(Namespace = "http://example.com")]`定义了命名空间,`[WebMethod]`则标记了...
"Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...
本文将对两种主要的Java调用WebService的方法进行总结。 **一、使用JDK Web服务API** 1. **创建WebService端点**: 首先,你需要定义一个@WebService注解的类,包含@WebMethod注解的方法。这个类就是你的服务接口,...
总结,使用JDK发布Web服务涉及的主要知识点包括:JAX-WS API、SEI、WSDL、HTTP服务器以及客户端调用。通过这些知识点,开发者可以在Java环境中方便地创建、部署和测试Web服务,实现不同系统的互联互通。
Axis2开发webservice总结,资源一般,希望对大家有用
总结起来,这个示例展示了如何使用 jQuery 的 AJAX 功能与 WebService 进行通信,无论是无参数还是带参数的调用,以及如何处理返回的数据。理解这些概念对于构建基于 JavaScript 的前端应用程序并与后端服务进行交互...
Java 调用 Webservice 的几种方法总结中,主要介绍了使用 JDK Web 服务 API、Axis 和 XFire 等方法来调用 Webservice。下面将对每种方法进行详细的介绍。 使用 JDK Web 服务 API 使用 JDK Web 服务 API 可以实现...
总结,使用JDK开发WebService涉及的关键点包括:理解SOAP、WSDL和UDDI等协议,使用JAX-WS提供的注解和工具,以及如何在客户端和服务器端交互。通过这个过程,开发者可以构建起跨平台、跨语言的网络通信系统,极大地...