Android项目中使用的WCF(FileNotFoundException)

时间:2016-02-15 13:52:57

标签: java c# android json wcf

我在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>

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

我希望您的服务正常运行,并且您已通过调用网址http://10.0.2.2:49363/Service1.svc/TestAndroid在计算机上对其进行了测试 我是对的吗?

然后,您的问题的简单解释是您的Android不知道ip地址10.0.2.2。

您可以验证是否可以访问?只需尝试在Android设备上的浏览器中打开相同的网址即可。

查看此IP地址的简单解决方案 - 您的手机应与计算机位于同一WiFi上。

更新: 目标是看到运行WCF主机的服务的计算机。问题是 - Android设备可以看到WCF主机吗?

相反的方向无关紧要,但知道这一点很好 无法从计算机上看到Android模拟器。这是好explanation