从Android应用程序中消耗WCF / Rest

时间:2011-01-27 16:06:58

标签: android rest android-emulator wcf

我正在http://fszlin.blogspot.com/2010/05/comsuming-wcf-services-with-android.html处理一个教程并遇到问题。本教程的作者看起来没有反应,所以我想我会在这里问。

我已启动并运行WCF服务。如果我运行Visual Studio附带的WCF测试应用程序,我可以访问它没有问题。我的问题是从应用程序运行它,或者甚至试图通过浏览器点击它,没有任何返回。

这是我尝试过的:

在WCF服务中设置断点并运行WCF测试应用程序,当我进行呼叫时,它会到达断点。有道理。

将URL放在浏览器中不返回任何内容(没有错误,没有数据),并且断点永远不会被命中。

将URL放在Android应用程序中并在Android模拟器中运行它不会返回任何内容(没有错误,没有数据),并且断点永远不会被击中。

认为它可能无法从浏览器或Android应用程序连接,我在浏览器中输入了一个错误的URL(如将其从http://localhost/hello.svc/GetPlates更改为http://localhost/hellotest.svc/GetPlates)会返回错误,同样在Android应用程序。

所以对我而言,似乎是因为某些原因没有执行代码而正确地使用了服务。我不知道如何进一步测试这个。是不是应该能够从浏览器中获取SOAP服务?特别是当你正在调用的服务中的函数没有参数而只返回数据时?

同样,这一切都在WCF测试应用程序中运行,似乎无法达到最终从Android应用程序调用服务的目标。

提前多多谢谢!

麦克

2 个答案:

答案 0 :(得分:1)

您可能已经找到了解决方案,但如果您使用的是默认的Visual Studio Web服务器(也称为Cassini),原因是因为出于安全考虑,它无法接受远程连接。这是内置服务器的限制,并且是设计的。您可以通过选择项目属性页上的备用单选按钮,使用自定义服务器来托管它。您可能需要使用IIS,WAS或Windows服务主机来接受远程HTTP连接。

答案 1 :(得分:1)

我想根据我们.Net团队分享的经验添加更多信息。 在托管服务器中部署之前,应从配置中删除“Windows身份验证”。