我有许多方法的.NET WCF服务(不是Web服务),有些接受和返回复杂的数据类型。我使用Windows Phone 7应用程序中的这些服务。这一切都很好,很容易。从Android访问.NET WCF服务
现在我正在评估将一些应用程序移植到Android的可行性,但我无法弄清楚如何从Android客户端调用我的WCF服务。
我有一个工作示例,我在Invoke webservices from Android中找到。
但是这看起来是访问“Web服务”,而不是WCF服务。
我的服务位于http://www.deanblakely.com/Service2.svc
,它包含一个名为“SimpleTest”的简单方法,它返回字符串“Alive”。
使用链接文章中的代码,我将http://www.deanblakely.com/Service2.svc
放在OPERATION_NAME的SOAP_ADDRESS和SimpleTest中。但我不知道应该放入SOAP_ACTION和WSDL_TARGET_NAMESPACE中。我甚至不知道这种方法是否有效。
在.NET中,Visual Studio为我们构建了一个“服务引用”,一切正常。
我还不懂的代码如下两行...
httpTransport.call(SOAP_ACTION, envelope);
Object response = envelope.getResponse();
随着WCF服务,调用的是异步,所以我们拨打电话到SimpleTestAsync,离开异步回回调。这两行代码似乎是同步的,不是?