我在c#中有一个简单的web服务。以下是C#代码:
IService1.cs
[ServiceContract(ConfigurationName = "IService")]
public interface IService1
{
[OperationContract]
[WebGet]
string TestAndroid();
}Service1.svc.cs
public class Service1 : IService1
{
public string TestAndroid()
{
return "Test done !";
}
}以下是Android代码:
protected Boolean doInBackground(String... urls) {
try {
URL url = new URL("http://10.0.2.2:49363/Service1.svc/TestAndroid");
InputStream in = new BufferedInputStream(httpURLConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line = reader.readLine();
reader.close();
} catch(Exception e){
return false;
}
return null;
}当我想读InputStream时,我有一个错误。
它是
java.io.FileNotFoundException:http://10.0.2.2:49363/Service1.svc/TestAndroid
我不知道问题出在哪里,因为当我进入浏览器时
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Test done !</string>有人能帮我吗?
发布于 2016-02-15 15:31:33
我希望您的服务正常工作,并且您已经通过调用url http://10.0.2.2:49363/Service1.svc/TestAndroid在您的计算机上测试了它,对吗?
那么简单的解释就是你的Android不知道ip地址10.0.2.2。
你能验证这是可访问的吗?只要在你的Android设备上打开浏览器中的同一个url就行了。
查看这个IP地址的简单解决方案--您的手机应该与您的计算机在同一台WiFi上。
更新:目标是看到计算机与服务运行WCF主机。问题是- Android设备能看到WCF主机吗?
相反的方向是无关紧要的,但很好地知道,Android仿真器无法从计算机上看到。这是好的explanation
https://stackoverflow.com/questions/35411167
复制相似问题