我一直在尝试连接需要凭据才能访问的 Web 服务,但没有成功。我正在使用 ksoap2 并且我知道代码可以工作(在将 Web 服务放在服务器上之前我已经将它与本地主机一起使用)我也知道服务器工作得很好,因为我制作了一个可以很好地访问服务器的 C# 程序。如果有人可以告诉我如何传递用户名和密码,我将非常感激。
编辑: 我的问题已得到解决,我将用于解决该问题的代码放在下面。
List<HeaderProperty> headers = new ArrayList<HeaderProperty>();
headers.add(new HeaderProperty("Authorization", "Basic "+Base64.encode("Username:Password".getBytes())));
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
/
androidHttpTransport.call(SOAP_ACTION, envelope,headers);
最佳答案
1.ksoap2有两个版本来访问Web服务。 SoapEnvelope.VER10 & SoapEnvelope.VER11 & SoapEnvelope.VER12,请检查;
2.您是否在AndroidManifast.xml中添加了权限?
<uses-permission android:name="android.permission.INTERNET" />
3.WebService是基于HTTP还是HTTPS? 在您的代码中,它们是 HttpTransportSE 或 HttpsServiceConnectionSE。
4.如果您的模拟器已连接互联网,请检查“3G”符号。
5.最后,这也与ksoap2.jar的版本有关。
关于java - 通过 android 将网络凭据传递给 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8438629/