0

当我使用 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 消息,因为缺少以下信息:操作。

4

1 回答 1

2

System.Web.Services.Protocols.SoapHeaderException:WSE012:输入不是有效的 SOAP 消息,因为缺少以下信息:操作。

=> 根据上面的例外,我可以说你忘了设置动作。

尝试:

String SOAP_ACTION = "http://stockservice.contoso.com/wse/samples/2005/10/OCRWebServiceAvailablePages";
httppost.setHeader("SOAPAction", SOAP_ACTION);
于 2013-06-01T14:55:27.677 回答