当前位置: 首页 > 知识库问答 >
问题:

apache camel bean到servlet-交换体丢失

潘兴朝
2023-03-14

我将apachecamel与spring和springdsl一起使用。尝试基于头参数从cxfrsbean路由到servlet。以下是骆驼路线配置

<camelContext xmlns="http://camel.apache.org/schema/spring">

        <route>
            <from uri="cxfrs://bean://service?bindingStyle=SimpleConsumer" />
            <to uri="log:body?level=INFO" />
            <camel:filter>
                <camel:simple>${in.header.export} == true</camel:simple>
                <setProperty propertyName="exchange">
                <camel:spel>#{exchange}</camel:spel>
                </setProperty>
                <camel:to uri="http://localhost:8080/service/Reports?exchange=${property.exchange}&amp;bridgeEndpoint=true"/>
            </camel:filter>
            <to uri="bean:businessDelegate" />
        </route>

问题是来自服务的 JSON 有效负载没有传输到 HTTP servlet 。下面是网络 XML

    <servlet>
        <display-name>ReportServlet</display-name>
        <servlet-name>ReportServlet</servlet-name>
        <servlet-class>
            org.springframework.web.context.support.HttpRequestHandlerServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ReportServlet</servlet-name>
        <url-pattern>/Reports/*</url-pattern>
    </servlet-mapping>          
  <servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

请帮忙。如何将交换体从初始请求转移到 Servlet?servlet 的 http 请求标头和参数为空。

共有1个答案

袁卓
2023-03-14

可能是由于记录消息正文导致空正文。请参阅此常见问题解答:http://camel.apache.org/why-is-my-message-body-empty.html

 类似资料:
  • 我有一条骆驼路线,如下所示。 bean方法顾名思义,分别将body设置为“Hello”和“World”。 我还设置了onException子句,如下所示: 假设,我将一条消息放在队列“开始”上,正文为“测试消息”。在第一个杜米豆中成功处理后,我在第二个杜米豆中抛出一个运行时异常。我希望看到实际的消息或(原始消息内容完好无损,即“测试消息”)被发送到我的死信队列。 但是,死信队列上的消息内容是“He

  • 我回来时问了同样的问题,但这次有更多的记录。我有一个包含许多servlet和JSP的web应用程序。应用程序有一个登录选项。在登录servlet中,我启动一个新会话,在会话中放置一些信息后,我转到一个JSP。 登录。java相关代码: 转发后,我得到一个名为Insert.jsp的Jsp页面,在那里我得到会话属性。 插入jsp相关代码: 在这之后,我有一个表单将我引导到servlet Adaugar

  • 我已经创建了一个服务代理。 代理(请求类型为)和实际服务(请求类型。)之间有一个处理器。 进入< code > process(Exchange Exchange)方法的交换体属于< code>TypeA。 我能够使用下面的代码行访问数据 现在,我想将此信息更改为。 我使用下面的代码添加主体。 我得到了 现在,我想使用调用真正的服务,它来自。 我尝试进入处理器,但出现以下异常 真正的Web服务没有

  • 我有一个JSP页面,它有一个按钮AddTile,其值为submit,当按下这个按钮时,我想将控制权转移到servlet,这里是JSP页面的表单部分 我的Servlet位于src 这是我的servlet的代码

  • 我对一个不太通用的需求有一个通用的问题。 我必须将一个Excel文件转换成PDF格式,但必须保留Excel文件中每个单元格的所有格式。不允许更改。比如,如果一个单元格被格式化为Currence/Accounting,那么默认情况下负值会显示在圆括号中,例如(8.5),但从Java读取时,该值是-8.5。对于数字单元格,值为0,但显示为连字符(-)。类似地,对于其他格式类型,显示也会发生变化。 如有

  • 问题内容: 我有一个简单的应用程序,通过Async任务与其Servlet后端进行通信。我很难理解消息是如何包装的以及如何操纵这些消息的数据结构。我要做的是无论如何都接收多个对象或多个异构信息。我的代码: 还有我的异步任务类: 响应消息以文本形式返回ArrayList: 但是,我想要的是将它按原样存储为ArrayList。如何配置异步任务以接收我的m_tours ArrayList并将其存储在某个地