2017-04-14 15 views
0

Citrusテストでは、REST APIに(旅行)リクエストが送信されます。応答は次のように処理されます。ペイロード内に予期しない文字があります

応答コード500が受信されますが、これは私が期待するものです。 Wiresharkので、私は次のパッケージを捕獲:私はテンプレートにペイロードを移動すると

Host: localhost:18082 
Connection: Keep-Alive     
User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_121) 
Accept-Encoding: gzip,deflate 

{ "definition": "travelrequest.xml", "name": "travelrequest" } HTTP/1.1 500 Internal Server Error 
Server: spray-can/1.3.3 
Date: Thu, 13 Apr 2017 15:33:37 GMT 

、私のテストの受信部分は、次のようになります。

http() 
.client("http://localhost:18082/cases") 
.send() 
.post() 
.accept("application/json; charset=UTF-8") 
.contentType("application/json") 
.payload(new ClassPathResource("templates/travelrequest.json")); 
//.payload(
//  "{ "+ 
//  "\"definition\": \"travelrequest.xml\", "+ 
//  "\"name\": \"travelrequest\" "+ 
//  "} " 
//); 

テンプレートリソースは、このテキストが含まれています。

{ 
"definition": "travelrequest.xml", 
"name": "travelrequest" 
} 

私はこのテストを実行すると、私は別の応答コード受信:

:Wiresharkのでは400を、私は次のパッケージを撮影し
Host: localhost:18082 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_121) 
Accept-Encoding: gzip,deflate 

?{ 
"definition": "travelrequest.xml", 
"name": "travelrequest" 
}HTTP/1.1 400 Bad Request 
Server: spray-can/1.3.3 
Date: Thu, 13 Apr 2017 15:36:15 GMT 

予期しない質問マークで要求が開始されることに注意してください。この疑問符はシトラスの出力には表示されません。

17:36:13,629 DEBUG client.HttpClient| Sending HTTP message to: 'http://localhost:18082/cases' 
17:36:13,629 DEBUG client.HttpClient| Message to send: 
{ 
"definition": "travelrequest.xml", 
"name": "travelrequest" 
} 
17:36:13,630 DEBUG ingClientInterceptor| Sending Http request message 

開口部の直前にスペースがありますか?

これは特殊文字ですか?ペイロードになぜ追加されますか?論理的な説明はありますか?

乾杯、 エド

答えて

0

は、符号化の問題であると思われます。ファイルの内容を読むときは、デフォルトでCitrusはUTF-8エンコードを使用します。たぶん、ファイルは他のエンコーディングを使用していて、最初の文字はこの違いの結果です。

ファイルのエンコードを確認してください。あなたはここで説明するようにあなたがまたcitrus-application.propertiesファイルにこのプロパティを追加することができ、システムのプロパティ

citrus.file.encoding=UTF-8 

を設定することで、他のいくつかのエンコーディングを使用するようにシトラスを伝えることができます:http://www.citrusframework.org/reference/html/configuration.html#citrus-application-properties

関連する問題