我在使用DIGEST身份验证从PHP soap Web服务获取Authorization标头时遇到问题。 (PHP客户端可以正常使用Web服务)。
我收到错误401,但我无法在信封中找到标题。 headerIn字段为空。
我需要以某种方式连接到Web服务 - 获取标头(主要问题),然后重新创建Digest授权标头(这很容易)并再次使用身份验证信息连接到Web服务。
有什么建议吗?
@Override
protected String doInBackground(SoapProperty... soapProperties) {
if(this.methodName.isEmpty())
throw new IllegalArgumentException("methodName is not specified");
String response="";
android.os.Debug.waitForDebugger();
try{
String SOAP_ACTION = this.namespace + "/" + this.methodName;
SoapObject request = new SoapObject(this.namespace, this.methodName);
for(SoapProperty s : soapProperties){
request.addProperty(s.getKey(), s.getValue());
}
SoapSerializationEnvelope envelope;
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(this.url);
ht.call(SOAP_ACTION, envelope);
response = (String)envelope.getResponse();
}
catch(Exception e){
e.printStackTrace();
publishProgress(true);
}
return response;
}