在调用soap webservice时获取异常

时间:2013-06-01 14:48:33

标签: java android .net web-services soap

当我使用SoapUI调用this web service时,我得到了正确的响应但是当我在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消息,因为缺少以下信息:action。

1 个答案:

答案 0 :(得分: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);