我已经在 SMX 上部署了以下路由,它将所有 ReST 请求代理到真正的 ReST 服务提供商 (Tomcat)。所有对 SMX 的 ReST 调用都已成功路由,但是上传 PDF 文件的 saveDocument 服务失败。
public void configure() throws Exception {
from("jetty:http://{{smx.host}}:{{smx.rest-proxy-port}}/{{smx.context}}matchOnUriPrefix=true")
.log("ReST call received (Java DSL)")
.to("jetty:http://{{real-server-address}}:{{real-ws-port}}/{{context}}?bridgeEndpoint=true&throwExceptionOnFailure=false")
.log("Rest call proxied (Java DSL)");
}
servicemix.log 中记录了以下异常。
19:53:57,065 | 警告 | HttpClient-137 | HttpExchange | 111 - org.eclipse.jetty.util - 7.5.4.v20111024 | EXCEPTION JettyContentExchange@188af650=POST//real-server-address...:8080/contextpath.../saveDocument#SENDING(3ms)-> EXCEPTED(0ms)sent=3ms java.lang.IndexOutOfBoundsException
在将调用重定向到真正的 ReST 服务之前,我是否必须在 base64 上执行一些额外的处理?
更新我之前的帖子。当我使用 txt 文件但对 pdf 或 doc 失败时,这似乎有效。
更新 2:当 txt 大小超过 7KB 时它也会失败。
是否可以设置骆驼码头接受大尺寸文件?