我一直在尝试连接需要访问凭据并且没有运气的Web服务。我正在使用ksoap2并且我知道代码可以工作(我在将Web服务放在服务器上之前已将它与本地主机一起使用)我也知道服务器工作正常,因为我制作了访问服务器的ac#程序就好了。如果有人可以告诉我如何传递用户名和密码,我将非常感激。
编辑: 我的问题已得到修复我将下面的代码放在下面。
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);
答案 0 :(得分:0)
1.ksoap2有两个版本来访问Web服务。 SoapEnvelope.VER10&amp; SoapEnvelope.VER11&amp; SoapEnvelope.VER12,请检查一下;
2.你是否在AndroidManifast.xml中添加了权限?
<uses-permission android:name="android.permission.INTERNET" />
3. WebService基于HTTP还是HTTPS? 在您的代码中,它们是HttpTransportSE或HttpsServiceConnectionSE。
4.如果您的模拟器连接到互联网,请检查“3G”符号。
5.最后,这也搞乱了ksoap2.jar的版本。
答案 1 :(得分:0)
我之前做过类似的事情。我创建了一个Android应用程序,它使用ksoap访问用于身份验证的Web服务。
您可以参考How to call a local web service from Android Mobile App
检查我在那里发布的答案。这正是你要找的东西。我基本上是将用户凭据传递给我的webservice进行身份验证。
希望有所帮助
干杯
答案 2 :(得分:0)
如果您只想发送用户名和密码,请查看Parth_90答案。
但是如果您想使用HTTPS,那么我认为这会有所帮助:https://groups.google.com/forum/#!topic/android-developers/GsK4UeByabo (查看第一个答案)。