通过android将网络凭据传递给Web服务

时间:2011-12-08 22:30:40

标签: java android web-services credentials ksoap2

我一直在尝试连接需要访问凭据并且没有运气的Web服务。我正在使用kso​​ap2并且我知道代码可以工作(我在将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);

3 个答案:

答案 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应用程序,它使用kso​​ap访问用于身份验证的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 (查看第一个答案)。