SoapUI を使用してこの Web サービス を呼び出すと、正しい応答が得られますが、これを Android に実装すると、以下の例外が発生します。
system.web.services.protocols.soapheaderexception (一部の情報が欠落しています)。
これは私が試したものです、
HttpPost httppost = new HttpPost("http://www.ocrwebservice.com/services/OCRWebService.asmx");
StringEntity se = new StringEntity(SOAPRequestXML,HTTP.UTF_8);
se.setContentType("text/xml");
httppost.setHeader("Content-Type", "text/xml;charset=UTF-8");
httppost.setEntity(se);
HttpClient httpclient = new DefaultHttpClient();
BasicHttpResponse httpResponse =
(BasicHttpResponse) httpclient.execute(httppost);
HttpEntity resEntity = httpResponse.getEntity();
他の組み合わせも試してみましたが
httppost.setHeader("Accept-Charset","utf-8")
、
httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8")
しかし、何も機能しませんでした。
エラーは言う、
System.Web.Services.Protocols.SoapHeaderException: WSE012: 次の情報が欠落しているため、入力は有効な SOAP メッセージではありませんでした: アクション。