2011-01-27 64 views
1

我当时正在通过http://fszlin.blogspot.com/2010/05/comsuming-wcf-services-with-android.html的教程,并遇到问题。本教程的作者看起来不太敏感,所以我想我会在这里问。从Android应用程序中消费WCF /休息

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

这是我已经试过:

设置在WCF服务断点和运行WCF测试应用中,当我拨打电话,它击中断点。说得通。

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

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

认为它可能没有从浏览器或Android应用程序连接,我把一个错误的URL放入浏览器(如将其从http://localhost/hello.svc/GetPlates更改为http://localhost/hellotest.svc/GetPlates)返回一个错误,在Android应用程序中也是如此。

因此,对我来说,它似乎是正确地击中服务,只是出于某种原因不执行代码。我不知道如何进一步测试这个。 SOAP服务是否应该能够从浏览器中获取?特别是当你调用的服务中的函数不带参数并且只返回数据时?

再说一遍,它在WCF测试应用程序中工作,似乎无法达到最终从Android应用程序调用服务的目标。

非常感谢提前!

迈克

回答

1

你可能已经找到了解决办法了,但如果你使用的是默认的Visual Studio的Web服务器(又称卡西尼),其原因是因为它不能接受为安全起见,远程连接。这是内置服务器的限制,并且是按设计进行的。您可以通过选择项目属性页面上的替代单选按钮来使用自定义服务器来托管它。您可能需要使用IIS,WAS或Windows服务主机来接受远程HTTP连接。

+0

我没有找到解决方案,把整个事情放在后面,但现在我有一个答案,可以继续前进,并旋转备份......非常感谢您的时间! – Mike 2011-05-05 18:31:58

1

我想添加一个基于我们.Net团队共享的经验的信息。 在部署到托管服务器之前,应从配置中删除“Windows身份验证”。

+0

很高兴知道,谢谢。 – Mike 2012-06-21 20:21:04