`

Cxf发布restful传递到客户端部分汉字乱码的解决

 
阅读更多

近期,公司要通过一台中间服务器,把内网的ERP数据导入到外网中来,由于内外网物理隔断,外网无法直接访问内网的数据,而且站在安全的角度上没有一个公司会这么做。老大把这个任务交给了我,正好前一阶段刚刚学习了Cxf WebService,决定采用cxf发布rustful方式现来实它。老大提出了几点需求:1、采用动态数据源,也就是说,我有5个数据源,根据需要访问;2、外网服务器通过中间服务器获取内网ERP的数据,要使用xml格式;3、采用验证令牌;牵扯到公司机密问题,我就不传源代码了,如果有相同的情况要找我讨论,请加我QQ:361202421,不过很少时间上,或者写在评论上,我们一起讨论!

我在使用客户端读取数据时,有部分汉字显示乱码,而且不一定是哪个汉字,我是这么写的main方法

public static void main(String[] args) throws Exception {

URLConnection conn = new URL("http://服务器IP:8080/WebServTKServer/ws/v1/fhmlist").openConnection();

/**

* 这里做一个说明

* http://服务器IP:8080/WebServTKServer/ws/v1/fhmlist

* WebServTKServer-工程名

* v1-版本

* 在applicationContext.xml中定义的<jaxrs:server id="restService" address="/v1">

* PersonService.java中public Person getPerson方法中的@Path("/fhmlist")路径

*/

HttpURLConnection htconn = (HttpURLConnection)conn;

 

htconn.setRequestMethod("GET");

htconn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

htconn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

htconn.setRequestProperty("begintime", "2015-06-02 00:00:01");//参数begintime

htconn.setRequestProperty("endtime", "2015-06-04 23:59:59");//参数endtime

htconn.setRequestProperty("condition", "1");//参数condition

htconn.setRequestProperty("dsName", "dsSHERP");//数据源参数dsName

htconn.setRequestProperty("token", "xx56Rdeeerrwoo9O/P6R98m");//加密令牌

 

 

// 建立实际的连接

htconn.connect();

// 获取所有响应头字段
//Map<String, List<String>> map = htconn.getHeaderFields();
// 遍历所有的响应头字段
/**
for (String key : map.keySet()) {
System.out.println(key + "--->" + map.get(key));
}*/

 

int code = htconn.getResponseCode();

//System.out.println("code=="+code);

 

if (code == 200) {

InputStream is = htconn.getInputStream();

int len = 0;

byte[] b = new byte[1024];

StringBuffer sb = new StringBuffer();

 

while ((len = is.read(b)) != -1) {

String s = new String(b,0,len,"UTF-8");

sb.append(s);

}

 

//System.out.println("aaa=="+sb.toString());

System.out.println("数据发送成功!");

br.close();

} else {

System.out.println("数据发送失败!");

}

htconn.disconnect();

}

导出的汉字有时候会显示??,我将红色的部分改成下面的就行了


BufferedReader br = new BufferedReader(new InputStreamReader(htconn.getInputStream(),"UTF-8"));

String line = "";
StringBuffer sb = new StringBuffer();
while (null != (line = br.readLine())) {

sb.append(line);

}

 

参考文档:http://blog.csdn.net/sulanyan29/article/details/7355960

分享到:
评论

相关推荐

    cxf发布RestFul接口。 maven

    在IT行业中,CXF是一个广泛使用的开源框架,用于构建和开发Web服务,包括SOAP和RESTful接口。本篇文章将深入探讨如何使用CXF、Spring、Maven等技术栈来发布一个支持HTTP请求和SOAP调用的RestFul接口。 首先,我们...

    Spring CXF Restful 实例

    通过这个“Spring CXF Restful实例”,开发者将学习到如何在Spring环境中使用CXF构建高效、可维护的RESTful服务。实践中,不断优化接口设计,提高API的易用性和性能,是提升开发效率和用户体验的关键。

    cxf webservice restful实现

    - 创建服务代理:使用CXF的`JAXRSClientFactory`,可以生成客户端代理对象,该对象可以直接调用服务端的RESTful接口。 - 调用服务:通过代理对象,客户端可以执行`@GET`、`@POST`等HTTP操作,向服务端发送请求并...

    利用CXF发布restful WebService 研究

    【标题】:“利用CXF发布RESTful WebService研究” 在当今的互联网开发中,RESTful Web Service已经成为一种广泛采用的接口设计模式,它基于HTTP协议,以资源为中心,通过统一的URI(Uniform Resource Identifier)...

    cxf实现restful资料

    本资料主要讲解如何使用Spring与CXF集成,来发布RESTful服务,并提供了相关的项目案例和代码。 一、RESTful简介 REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,...

    cxf 开发restful服务

    在IT行业中,开发RESTful服务是构建现代Web应用程序的关键部分,它提供了一种轻量级、灵活且易于使用的接口,使得客户端和服务器之间的通信变得更加高效。Apache CXF是一个开源的服务框架,它允许开发者轻松地创建和...

    使用CXF开发RESTFul服务

    【标题】"使用CXF开发RESTFul服务"涉及到的核心技术是Apache CXF框架和RESTful API设计。Apache CXF是一个开源的Java框架,主要用于构建和消费Web服务,包括SOAP和RESTful服务。REST(Representational State ...

    springboot整合CXF发布webservice和客户端调用

    Apache CXF是一个开源的Web服务框架,支持SOAP、RESTful等不同风格的服务。它允许开发者以Java注解或XML方式定义服务接口,并提供了丰富的客户端和服务端工具。 3. **整合过程** - 首先,我们需要在`pom.xml`中...

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费Web服务至关重要,特别是对于使用命令行生成Web服务客户端的开发者...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    在IT行业中,Spring Boot是一个非常流行的...4. 使用CXF生成客户端代码。 5. 在客户端应用中创建代理对象并调用服务。 通过这种方式,你可以构建安全、可靠的Web服务,并在Spring Boot环境中轻松地进行客户端调用。

    CXF Restful服务简单例子

    这些文件可以帮助我们了解和实践CXF RESTful服务的完整流程,从编写服务类到部署运行,以及可能的测试脚本。\n\n总的来说,Apache CXF框架简化了RESTful服务的开发,使得我们可以快速构建高效、可扩展的Web服务。...

    用CXF开发RESTful风格WebService

    用CXF开发RESTful风格WebService.doc

    cxf简单实例 服务端与客户端

    4. 发布服务:通过CXF的服务器组件(如Spring或Jetty),将服务部署到HTTP服务器上,使其可供客户端调用。 客户端开发则涉及调用服务端提供的Web服务: 1. 生成客户端代理:CXF提供了工具(如wsdl2java或JAXB)...

    spring,cxf,restful发布webservice传递List,Map,List&lt;Map&gt;

    在IT行业中,Web服务是一...总的来说,结合Spring、CXF和RESTful,我们可以轻松地创建和消费传递复杂对象的Web服务,这在分布式系统和微服务架构中尤其有用。理解并熟练掌握这些技术,对于提升你的IT职业生涯至关重要。

    CXF发布restful WebService的入门例子.pdf

    【CXF发布RESTful WebService】 RESTful WebService是一种基于HTTP协议的Web服务设计风格,它强调资源的表示和操作,通过HTTP方法(GET、POST、PUT、DELETE)来执行对资源的操作。Apache CXF是一个流行的开源Java...

    cxf restful

    【标题】:CXF RESTful服务的实现与应用 【正文】: Apache CXF是一个流行的开源框架,用于构建和开发Web服务。它支持多种协议,包括RESTful(Representational State Transfer)风格的服务,使得开发者可以方便地...

    CXF实例源代码(客户端)

    这个"CXF实例源代码(客户端)"压缩包提供了客户端调用Web服务的示例代码,对于初学者来说,是理解如何使用CXF进行Web服务交互的绝佳资源。 在Web服务的世界里,客户端通常负责发起请求并接收服务端的响应。CXF作为...

    CXF3.0+Spring3.2 RESTFul服务(下)

    【CXF3.0+Spring3.2 RESTFul服务(下)】 在现代Web服务开发中,RESTful API已经成为主流,它通过HTTP协议提供简洁、无状态的接口,易于客户端调用。CXF,一个强大的开源服务框架,支持SOAP和RESTful服务,而Spring...

    webservice cxf 服务端客户端传递参数的例子demo

    下面我们将深入探讨"webservice CXF 服务端客户端传递参数的例子demo"。 1. **CXF框架介绍** CXF是一个Java框架,它允许开发者通过简单的API来创建和使用Web服务。CXF支持多种Web服务标准,如WS-I Basic Profile、...

Global site tag (gtag.js) - Google Analytics