我是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]]`` 在org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:412
另外,我在stacktrace中看到BodyType和Body都为null。
有人可以为此提供帮助吗。
答案 0 :(得分:0)
我认为问题在于你的方法。看起来骆驼无法将交换和/或身体转换为您指定的参数。 你可以试试这个:
public void registermember(Exchange exchange){
System.out.println("Body: " + exchange.getIn().getBody());
}
您现在应该看到正文内容,您可以使用调试器在那里查看正文的类型。