首页 文章

使用带有xml-dsl restlet组件的camel时,body为null错误

提问于
浏览
0

我是apache camel和restlet组件的新手 .

我试图从rest url接收POST请求并使用POJO bean验证它们 .

我使用Apache camel xml-dsl restlet组件有以下路由 .

<route>
        <from uri="restlet:/members?restletMethod=POST"/>
        <!--    <to uri="registerMemberBean"/>-->
        <bean ref="registerMemberBean" method="registermember"/>
    </route>

基本上,我正在尝试POST到/ members url . 我想在POJO bean中接收它们和/或调用POJO bean中的指定方法,该方法应该继续接收的值 . 然后,我想在传递给db之前验证bean中的值 .

我尝试过使用上述两种方法 . 我总是看到错误“org.apache.camel.RuntimeExchangeException:IllegalArgumentException发生了调用方法:” . ublic java.lang.String org.sample.service.RegisterMemberBean.regi sterMember(int,java.lang.String)在交换上使用参数:[null,null]:Exchange [消息:[Body is null]]``at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:412

另外,我在stacktrace中看到BodyType和Body都为null .

有人可以帮忙吗?

1 回答

  • 0

    我认为问题是你的方法 . 看起来骆驼无法将交换和/或身体转换为您指定的参数 . 你能试试这个:

    public void registermember(Exchange exchange){
      System.out.println("Body: " + exchange.getIn().getBody());
    }
    

    您现在应该看到正文内容,然后您可以使用调试器在那里查看正文的类 .

相关问题