Rest Webservice を使用するために Grails Plugin rest=0.7 を使用しています。
サービスからの応答が xml の場合はすべて正常に動作しますが、応答が pdf のようなファイル タイプの場合は、要求の送信時にダウンロードを開始する必要がありますが、ダウンロードはまったく開始されません。
以下のコードは、grails サービスに実装されています。
String httpUrl = 'http://abc.com/myService'
String data = '<methodcall protocol="2" method="avalidmethodname"><cmdid/><data><project_id>1</project_id><user_id>2</user_id><operation>ABC</operation><filter><status_type_id>1</status_type_id><scope_bits>00</scope_bits></filter></data></methodcall>'
String respText = ''
HttpClient httpClient = new DefaultHttpClient()
HttpResponse response
try {
HttpPost httpPost = new HttpPost(httpUrl)
httpPost.setHeader("Content-Type", "text/xml")
HttpEntity reqEntity = new StringEntity(data, "UTF-8")
reqEntity.setContentType("text/xml")
reqEntity.setChunked(true)
httpPost.setEntity(reqEntity)
response = httpClient.execute(httpPost)
// HttpEntity resEntity = response.getEntity()
// respText = resEntity.getContent().text
}
finally {
httpClient.getConnectionManager().shutdown()
}
return response
// return respText
コード内のコメント行は、xml 応答の場合です。
この問題の解決を手伝ってください。Web サービスからのファイル応答の場合、使用しているアプローチが有効かどうかわかりません。