这是最近项目中和第三方联调接口时遇到的一个问题。
第三方服务端:是使用jersery REST框架构建的web services服务,提供给我们的是wadl文件。他们是基于的是JDK1.6开发环境,jersery的版本也比较高,也是基于JDK1.6.
我方客户端:我们的现网环境是基于JDK1.5,所以要考虑基于JDK1.5环境进行开发测试。如果直接使用和他们一样版本的jersery客户端jar,基于他们提供的wadl文件生成客户端,基本上是半小时内将问题搞定,但那必须在jdk1.6环境下,
所以我们必须让他在jdk1.5环境下能跑,最后在网上找了低版本的jersery客户端jar,同时将jaxb相关的几个jar也替换成低版本的,自己写客户端调用,而不使用直接自动生成的客户端代码,将问题搞定。
客户端调用代码如下所示:
import javax.ws.rs.core.MediaType;
import net.sf.json.JSONObject;
。。。
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
public class JzzService
{
private static Client client = Client.create();
private static Logger logger = Logger.getLogger(JzzService.class);
/**
* 外部认证
*/
public static RespOutCertificate outCertificate(
ReqOutCertificate reqOutCertificate)
{
String url = "http://ip:port/services";
WebResource webResource = client.resource(
url).path(
"outCertificate");
JSONObject json = null;
if(reqOutCertificate != null){
json = JSONObject.fromObject(reqOutCertificate);
logger.info("请求外部认证接口的参数为:" + json);
}else
logger.info("外部认证请求对象为空");
RespOutCertificate respOut = webResource.entity(reqOutCertificate,
MediaType.APPLICATION_JSON).post(RespOutCertificate.class);
logger.info("外部认证返回结果:" + (respOut == null ? null : respOut.toString()));
return respOut;
}
。。。。。。。。。。。
}
其中的请求对象和响应对应都加入@XmlRootElement注解,如下所示:
@XmlRootElement
public class ReqOutCertificate {
private String cardasno;
private String termno;
private String radom1;
private String skfactor;
private String mac1facto;
。。。。。
}
附件lib.rar是使程序能在jdk1.5环境下能运行的lib,包含所有的jar包。这是关键。
附件lib_for_jdk5.rar是能在jdk1.5下运行的关键的几个jar包。
分享到:
相关推荐
Jersey 是一个流行的开源框架,用于创建 RESTful Web 服务。它基于 Java 框架,实现了 JAX-RS(Java API for RESTful Web Services)规范,使得开发人员能够轻松地构建高效、灵活的Web服务。Spring 是另一个广泛使用...
jersey是JAX-RS(Java API for RESTful Web Services)的一个实现,它提供了丰富的工具集来创建和消费REST服务。在1.19.1版本中,jersey包含了处理HTTP请求和响应、数据绑定、异常处理、客户端API等核心功能。 1. *...
Spring是一个全面的Java框架,它为构建Web应用提供了广泛的支持,包括REST服务。Spring MVC模块允许开发者创建RESTful服务,而Spring Boot简化了设置和配置过程。Spring Data项目则进一步简化了与数据库交互,使得...
jersery RestFull web service工程 应用了...整个工程用来对外提供一个简化的ceph云存储服务器的restful api 同时工程作为 学习jersery 以及简单的统一日志管理 和http操作 和 Amazon S3 操作实例的源码 有很大的意义
提供的压缩包文件“Jersey_spring_demo”包含了一个完整的jersey+spring整合示例,它展示了模拟登陆、session和cookie的使用,以及如何通过jersey处理跨域调用。项目中包含了jersey资源类、spring配置文件以及前端与...
总之,基于Jersey v2.10的Web服务框架提供了一套强大的工具来开发RESTful服务,但同时也需要注意配置的细节,以确保所有组件能够正常协同工作。对于JPA的使用,理解其基本原理和配置要求是解决问题的关键。通过不断...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而...这个组合为开发者提供了一个强大且灵活的工具集,使得构建高质量的Web服务变得更加便捷。在实践中,确保正确配置依赖并理解RESTful设计原则,是成功的关键。
在开发基于Java的RESTful Web服务时,Jersey是一个常用的实现框架。RESTful(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,主要基于HTTP协议,使得数据和功能以资源的形式通过统一...
jersey-client-1.18.1 jersey-client 跨服务器文件上传 如果不能免费下载,关注我,评论区联系我索要!
在本文中,我们将深入探讨如何将Spring 4.x框架与Jersey 2.x结合,以构建一个能够对外提供RESTful接口服务的系统。这个过程包括了配置、组件整合以及实际的API开发。以下是对整个集成过程的详细说明。 首先,让我们...
如果是作为客户端的HTTP+JSON接口工程,没有JSP等view视图的情况下,使用Jersery框架开发绝对是第一选择。而在基于Spring3 MVC的架构下,对HTTP+JSON的返回类型也有很好的支持。但是,在开发工作中,对功能的升级是...
java运行依赖jar包
它使用jersery-1.9与hadoop-2.6兼容。 它使用mysql作为元存储库。 如何建造 $ mvn clean package assembly:single $ ls -l repo/target/schema-registry-repo-{version}-distro.tar.gz 如何安装 解压disto tar,...