2016-04-01 25 views
0

私は自分のローカルでrestfull webserviceプロジェクトを実装しました。残りのクライアントからリクエストを送信でき、また応答を得ています。以下 は残り、クライアントの "POSTリクエスト" である:springXDでHTTPクライアントの投稿要求を送信するには

{"address":{"type1":"abc","email":"[email protected]"}} 

応答:

{"address":{"type1":"abc","email":"[email protected]"}} 

そして、これらは、ヘッダーです。 1以下

Content-Type:application/json 

私の地元のJavaプロジェクトのAPIのURLです:

http://localhost:8080/test/test1 

今、私は春のXDでリクエストを送信することができますどのように春のXDを勉強しようと思います。私は自分のローカルにSpring XDとRabbitMQをインストールしました。

これらのjsonリクエストでSpring XDからの投稿要求を送信する方法を教えてください。

+0

Springインテグレーション –

答えて

0

あなたは春、多分あなたはあなたのAPIを要求するために、クラスorg.springframework.web.clientRestTemplateを使用することができますを使用しているので:

RestTemplate restTemplate = new RestTemplate(); 
HttpEntity<MailContact> request = new HttpEntity<>(new MailContact("[email protected]")); 
Contact contact = restTemplate.postForObject("http://localhost:8080/test/test1", request, Contact.class); 

これが役立つことを願っています。

+0

を使用してXDのカスタムコンポーネントを作成することができます。私はリクエストを送信して応答を得ることができます。私はSpring XDを試しています。 Spring-XDを使用してヘッダーでリクエストを送信する方法 –

+0

だから多分[this](http://stackoverflow.com/questions/28118990/passing-http-request-header-to-restapi-from-springxd-using-http-clientプロセッサー)が役立ちます。 – cdelmas

0

は、カスタムヘッダーを追加する

--httpMethod=POST 

mappedRequestHeaders ... httpMethodプロパティを使用しますが、それはX-接頭辞を取得します。それを削除するには、カスタムヘッダーマッパーを使用してプロセッサーをカスタマイズする必要があります。

0

例を挙げてください。あなたはSpringXDは、Webサービスクライアント午前8時と午後5時、およびダンプ結果との間に月曜日から金曜日まで毎分がファイルに応答を取得し、 になりたい場合は、トリガーモジュールがお送りします

stream create --name my_rest_client --definition "trigger --cron='0 * 8-17 * * 1-5' | http-client --url='''http://localhost:8080/test/test1''' --replyTimeout=2000 --httpMethod=GET --outputType=text/plain | file" --deploy 

あなたのXD-シェルでコマンドの下に実行してください'' charをデフォルトリクエストとして使用して、この動作を変更するには、のようにpayload paramを追加して正確な文字列を定義できます。trigger --payload = 'yourRequestMessage' --cron = '0 * 8-17 * * 1-5'

+0

POSTメソッドを試してみたいし、GETメソッドの代わりにリクエストボディも送信する必要があります。 –

+0

abccccccccccccccccccccccc –

関連する問題