从这个网址 想在上面的代码中提取PDF名获取PathVariable使用Spring集成
localhost:port/server/InboundGateway/pdf/
<int-http:inbound-gateway id="InboundGateway"
request-channel="request" reply-channel="response" supported-methods="GET,POST"
request-payload-type="java.lang.String" path="/InboundGateway/{type}"
<int-http:header name="type" expression="#pathVariables.type" />
</int-http:inbound-gateway>
(INT-HTTP:头名= “类型”)类型将PDF 但如何以提取其在Java代码中值我不能够得到HttpServletRequest的
我是支持的,方法的基础路由
<int:router input-channel="request" expression="headers.http_requestMethod">
<int:mapping value="POST" channel="contentDownload" />
</int:router>
<int:service-activator input-channel="contentDownload"
method="extract" ref="downloadPayloadExtractor" output-channel="contentRouter"></int:service-activator>
在DownloadPayloadExtractor我想要得到的PathVariable
这些日志的
SEVERE: Servlet.service() for servlet [InboundGateway] in context with path [/mgl-crm-server] threw exception
org.springframework.integration.MessageHandlingException:java.lang.IllegalArgumentException异常:所需的头不可用:在组织型 。 springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java:76) at org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:64) at org.springframework .integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:98) 在org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78) 在org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher的.java:110) 在org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97) 在org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:61) 在org.springframework .integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:157) at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:128) 在org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:288) 在org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:149) 在org.springframework.integration.router。 AbstractMessageRouter.handleMessageInternal(AbstractMessageRouter.java:220) 在org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78) 在org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:110) 在org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97) 在org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:61) 在org.springframe在org.springframework.integration.core.MessagingTemplate.doSendAndReceive(org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:288) ) MessagingTemplate.java:318) 在org.springframework.integration.core.MessagingTemplate.sendAndReceive(MessagingTemplate.java:239) 在org.springframework.integration.gateway.MessagingGatewaySupport.doSendAndReceive(MessagingGatewaySupport.java:233) 的组织。 springframework.integration.gateway.MessagingGatewaySupport.sendAndReceiveMessage(MessagingGatewaySupport.java:207) at org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport.doHandleRequest(HttpRequestHandlingEndpointSupport。的java:271) 在org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway.handleRequest(HttpRequestHandlingMessagingGateway.java:95) 在org.springframework.web.context.support.HttpRequestHandlerServlet.service(HttpRequestHandlerServlet.java:67) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:208) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 的组织。 apache.catalina.authenticator.Au在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)上的org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 在org.apache.catalina.connector。 CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908) at org.apache.tomcat.util。 Threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:662) 引起:java.lang.IllegalArgumentException:必需的标头不可用:在组织中键入 。 springframework.util.Assert.isTrue(Assert.java:65) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25) at j ava.lang.reflect.Method.invoke(Method.java:597) at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:58) at org.springframework.expression.spel.ast。 MethodReference.getValueInternal(MethodReference.java:104) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:57) at org.springframework.expression.spel.ast.Ternary.getValueInternal(Ternary。 java:55) at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:60) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:57) at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102) 在org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:102) 在org.springframework.integration.util.AbstractExpressionEvaluator.evaluateExpression(AbstractExpressionEvaluator.java:126) 在org.springframework.integration。 util.MessagingMethodInvokerHelper.processInternal(MessagingMethodInvokerHelper.java:225) 在org.springframework.integration.util.MessagingMethodInvokerHelper.process(MessagingMethodInvokerHelper.java:125) 在org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java: 73) ...42更多
给出错误: - 需要的标题不可用:类型 – user3194123 2014-10-29 10:38:48
添加了一些配置到我的答案。 – 2014-10-29 10:59:16