请求失败,ksoap2中存在身份验证



我在连接到web服务时遇到身份验证问题。当我试图通过网络浏览器打开它时,它要求我使用"登录名"one_answers"密码"登录。我正在使用下面的代码进行身份验证,但它不起作用。我要401了。我尝试了所有我找到的东西,但仍然无法连接。

String res = "sample string";
SoapObject request = new SoapObject(NAMESPACE, METHODNAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(WSDL);
List<HeaderProperty> headers = new ArrayList<HeaderProperty>();
headers.add(new HeaderProperty("Authorization", "Basic " + org.kobjects.base64.Base64.encode("my_username:my_password".getBytes())));
androidHttpTransport.debug = true;

try {
androidHttpTransport.call(SOAP_ACTION, envelope, headers);
SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
res = resultsRequestSOAP.toString();

System.out.println("Response: " + resultsRequestSOAP.toString());
} catch (Exception e) {  //here comes org.ksoap2.transport.HttpResponseException: HTTP request failed, HTTP status: 401
Log.d(TAG, e.getMessage());
}
return res;

如果有人在看这个问题,我可以从服务器上获取日志,下面是我得到的:

2018-11-30 13:13:36 YY.YY.YY.YY POST /MicrosoftDynamicsAXAif50/servicee.svc - 89 - XX.XX.XX.XX ksoap2-android/2.6.0+ - 401 2 5 15

YY-服务器地址,XX-我的
之前我的地址应该是我的用户名,并且不应该有你可以看到的库名。我怎样才能让它工作?因为我总是会被服务器拒绝。

相关内容

  • 没有找到相关文章

最新更新