我前两天遇到一个棘手的问题,需求是要求在浏览器上面直接用GET方法调用我的service程序可以看到图片。如http://xxxx.xxx/read/image/4_pic.jpg
所以这就要求我在service的返回值上面要做成一个return InputStream..于是我上网搜索,看到http://www.romanlogic.com/rest-service-for-images-using-apache-cxf/ 这篇文章是讲如何返回image的,所以写下了如下的代码
@GET
@Path("/{name}")
@Produces("image/jpg")
public InputStream readImage(@PathParam("name") String name ){
log.debug("Try to load image [name:"+name+" ]from DB");
log.debug("begin transaction");
imageDAO.beginTransaction();
byte[] b;
InputStream is = null;
try {
b = imageProcessService.loadImage(name);
log.debug("commit transaction");
imageDAO.commitTransaction();
is = new ByteArrayInputStream(b);
return is;
} catch (Throwable e) {
log.warn(e);
log.debug("rollback transaction");
imageDAO.rollbackTransaction();
return null;
}
}
但问题是,每当我调用这个API的时候,机器一直发出很奇怪的叫声,估计是内存在那里叫。
于是我怀疑了其中各个环节,最后才发现原来System.out.println("\007");可以让机器发出蜂鸣般的叫声。而CXF自身的LOG会把response 的payload内容log下来,所以我猜测图片的二进制信息中时不时的会有'\007',而log的同时,机器也不停的发出蜂鸣般的叫声,而机器不死机,叫完就没事了。。。
于是我最后把cxf 的那段log关了,于是,一切安好。。。问题解决。。。可喜可贺。。。
分享到:
相关推荐
综上所述,"cxf-service.jar"包含的是一系列用于支持Apache CXF框架运行和服务实现的类库。这些JAR文件在构建基于CXF的Web服务时扮演着关键角色,提供丰富的功能和灵活性,以满足不同类型的SOA需求。在实际项目中,...
本实例将深入探讨如何使用CXF来开发Web Service。 首先,让我们了解CXF的核心功能。CXF支持两种主要的Web Service规范:SOAP(简单对象访问协议)和REST(代表性状态转移)。SOAP是基于WSDL(Web服务描述语言)的,...
通过深入研究这个压缩包内的文件,你可以了解到如何在Spring MVC环境中配置和使用CXF来创建和调用Web Service,以及如何处理相关的请求和响应。这将是一个宝贵的学习资源,有助于提升你在企业级Java开发中的技能。
在Apache CXF项目中,我们需要在`pom.xml`中添加CXF的依赖,以确保编译和运行时可以使用CXF的库。例如,我们需要包含以下依赖: ```xml <groupId>org.apache.cxf <artifactId>cxf-rt-frontend-jaxws <version>3...
本篇文章将详细介绍如何使用CXF和camel-cxf调用Web服务,以及这两个工具的核心功能和使用场景。 Apache CXF是一个全面的服务开发框架,它支持多种Web服务标准,如SOAP、WS-*协议栈、RESTful服务等。CXF提供了丰富的...
在Java世界中,Apache CXF是一个广泛使用的开源框架,用于构建和部署Web服务。它提供了丰富的功能,包括SOAP、RESTful API的支持,以及与Spring框架的深度集成。本篇文章将深入探讨CXF与Spring的结合,以及如何创建...
你可以使用Maven的CXF插件或者命令行工具来执行此操作。 生成客户端代码后,你可以在Spring Boot客户端应用中引入这些生成的类,并使用它们来调用服务: ```java import org.apache.cxf.jaxws....
使用axis和CXF实现web service的说明文档。
【标题】中的"Apache CXF Web Service Development"指的是使用Apache CXF框架进行Web服务开发的过程。这通常包括了创建服务接口、实现服务逻辑、配置服务端点、以及发布和调用服务等步骤。源码部分可能包含了示例...
早先用java做web service找的一个教程,排版清晰且详细,适合没开发过web servcie的新手。
该例子详细展示了如何在Qt 4.5环境下利用C++和gSOAP库来访问由Java的CXF框架构建的Web服务。首先,我们要理解Qt是一个跨平台的应用程序开发框架,它提供了丰富的图形用户界面(GUI)功能。在这个例子中,Qt的多个...
【标题】:“使用CXF开发Web Service初体验” 在Java世界中,开发Web Service是一项常见的任务,Apache CXF是一个强大的开源框架,它使得这个过程变得简单而高效。本篇文章将探讨如何利用CXF来创建和消费Web ...
在Java开发领域,Web服务(Web Service)是一种用于应用程序之间进行通信的标准协议,它使得不同系统之间能够交换数据。在JDK 5环境下,Apache CXF是一个常用的框架,用于开发和消费Web服务,无论是作为服务提供者...
实战Web Service 之 CXF 实战Web Service 之 CXF
在本例中,我们可以使用CXF的wsdl2java工具,从服务的WSDL(Web Service Description Language)文件生成对应的客户端代码。一旦生成,我们就可以像调用本地方法一样调用Web服务: ```java HelloWorld helloWorld =...
3. `samples`目录:可能包含CXF官方提供的示例代码,这些示例可以帮助学习和理解如何使用CXF。 4. `docs`目录:可能包含CXF的用户手册、API文档和其他参考资料。 5. `schema`目录:可能包含CXF支持的XML schema定义...
在本项目中,我们主要探讨如何使用SpringBoot、MyBatis和CXF框架来开发Web Service接口,并且数据库选用MySQL。这是一个完整的后端服务开发流程,涵盖了从数据存储到服务暴露的所有关键步骤。 首先,SpringBoot是...