は、私はあなたがペイロードとしてXMLで最初のURLに投稿したいと推定します。
まずXMLタグの値を取得するためにXPathコンポーネントを使用し、プロキシされたリクエストにパラメータを渡すようにsetBodyを設定する必要があります(オプションでPOSTからGETに切り替えることもできます)。
この動作するはずのような何か:
$ cat 1.txt
<a>
<subscriptionId>123</subscriptionId>
</a>
$ wget --post-file=1.txt --header="Content-Type:text/xml" http://127.0.0.1:8080/myapp
あなたがこのような応答をテストするために、第2の経路を使用することができます:あなたはwgetのと言って、コマンドラインからそれをテストすることができるはず
<route>
<from uri="jetty:http://127.0.0.1:8080/myapp"/>
<setHeader headerName="subscriptionId">
<xpath resultType="java.lang.String">//subscriptionId/text()</xpath>
</setHeader>
<!-- if you need to convert from POST to GET
<setHeader headerName="CamelHttpMethod">
<constant>GET</constant>
</setHeader>
-->
<setBody>
<simple>subscriptionId=${in.headers.subscriptionId}</simple>
</setBody>
<to uri="jetty:http://127.0.0.1:8090/myapp?bridgeEndpoint=true&throwExceptionOnFailure=false"/>
</route>
<route>
<from uri="jetty:http://127.0.0.1:8090/myapp"/>
<to uri="log:mylog?level=INFO"/>
<setBody>
<simple>OK: ${in.headers.CamelHttpMethod}: ${in.headers.subscriptionId}</simple>
</setBody>
</route>
camelContextを 'trace'に設定すると、処理のすべてのステップで何が起こっているかのログ:
<camel:camelContext id="camel" trace="true" xmlns="http://camel.apache.org/schema/spring">
あなたはおそらく前の質問に対する回答を受け入れるべきです。これにより、より多くの人々がこれに答えるようになります。 – maximdim
こんにちはmaximdim、私は私の以前の質問( "ありがとう、たくさん!"など)で得た返信に返信しました。トピックを閉じるためにもっと何かをする必要がありますか? – opstalj
答えに満足している場合は、「Accepted」とマークする必要があります。質問の左側にあるチェックマークを参照してください。 – maximdim