私が作成した安らかな Web サービスのテストを書いています。パッケージ名が変更されるまで、テストは正常に実行されていました。Web サービスを呼び出そうとすると、404 が返されます。このテストは groovy ですが、実際の Web サービスは Java です。
RESTClient restClient = new RESTClient(APPURL);
def HttpResponseDecorator result = restClient.post(path:"/traffic/trackParticipation",
headers: [accept: 'application/json'],
contentType: ContentType.JSON,
body: trackingRequest
)
trackingRequest は次のとおりです。
{"psid":"MDBmOd1xGjkkx94esSUpzQ**","participationType":"game","gameParticipationId":"1","surveyParticipationId":"1","timeSpent":"300","timestamp":"2013-05-24 10:30:40"}
この同じ json が他のリクエストでも機能します。Firefox から呼び出されたもののように。
Firefox などの他のクライアントから同じサービスを呼び出すと、正常に動作します。サーバーとターゲットのすべての tmp ファイルを消去しました。これに関するヘルプは大歓迎です。
私が得るエラーは
groovyx.net.http.ResponseParseException: Not Found
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:500)
at groovyx.net.http.RESTClient.post(RESTClient.java:140)
.....
Caused by: net.sf.json.JSONException: Invalid JSON String
at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:143)
at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:103)
at net.sf.json.groovy.JsonSlurper.parseText(JsonSlurper.java:80)
at net.sf.json.groovy.JsonSlurper.parse(JsonSlurper.java:76)
at groovyx.net.http.ParserRegistry.parseJSON(ParserRegistry.java:282)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:425)
at groovyx.net.http.HTTPBuilder.parseResponse(HTTPBuilder.java:561)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:494)
... 2 more
ありがとう