我正在尝试使用CAMEL作为HTTP代理,我想从带有XML主体的传入HTTP消息中提取参数 . 这个参数我想在HTTP POST消息的头部添加到另一个 endpoints (另一个服务器) .
示例:XML正文包含一个名为“subscriptionId”的参数 . 然后,此字段“subscriptionId”的值将用于传出HTTP POST消息的URI .
所以,如果subscriptionId = 1234567,我希望HTTP POST消息中的uri如下:
POST / webapp / createnewsubscription?subscriptionId = 1234567
我正在使用Spring DSL创建我的Camel路由 .
有人知道如何做到这一点?
谢谢,
一月
1 回答
我假设您想要使用XML作为有效负载POST到第一个URL .
首先,您需要使用XPath组件来获取XML标记的值,然后使用setBody将参数传递给代理请求(可选择您可以从POST切换到GET) .
这样的事情应该有效:
你应该可以从命令行测试它说与wget:
您可以使用第二个路径来测试这样的响应:
如果你将camelContext设置为'trace',你应该在日志中看到很多关于处理过程中每个步骤的信息: