我需要将远程PDF文件作为application/pdf
返回。在经典的WAR中,我将构建一个servlet来检索远程PDF为InputStream并返回与OutputStream相同的PDF,可以在Apache Camel中这样做吗?最佳做法是什么?
我看到了camel-servlet,但我不知道这样做的方式。
答案 0 :(得分:1)
我找到了这个解决方案:如下定义其余服务(REST DSL)
<rest path="/">
<get consumes="application/json"
outType="java.io.InputStream"
produces="application/pdf" uri="/provarest">
<to uri="direct:provaRest"/>
</get>
</rest>
我可以使用此路线返回PDF
<route id="route6">
<from id="_from1Route6" uri="direct:provaRest"/>
<to id="_toProvaRest" uri="provaRestProcessorId"/>
</route>
其中provaRestProcessorId是使用此方法的处理器
@Override
public void process(Exchange exchange) throws Exception {
InputStream is = new FileInputStream(new File("C:\\somepath\\Prova.pdf"));
exchange.getOut().setBody(is);
}