我正在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应用程序调用服务的目标。
提前多多谢谢!
麦克
答案 0 :(得分:1)
您可能已经找到了解决方案,但如果您使用的是默认的Visual Studio Web服务器(也称为Cassini),原因是因为出于安全考虑,它无法接受远程连接。这是内置服务器的限制,并且是设计的。您可以通过选择项目属性页上的备用单选按钮,使用自定义服务器来托管它。您可能需要使用IIS,WAS或Windows服务主机来接受远程HTTP连接。
答案 1 :(得分:1)
我想根据我们.Net团队分享的经验添加更多信息。 在托管服务器中部署之前,应从配置中删除“Windows身份验证”。