无法在本地访问 WCF

Can´t reach WCF in local

在遵循一些 tuto 之后,我编写了这段代码,但它不起作用。当我调用包含 Retrofit 的 activity 时,应用程序崩溃了(当我添加用于创建 Retrofit 对象的代码时发生).... 我正在尝试使用 WCF (URL=http://192.168.0.156:52896/Service1.svc) (method´s name=devolverPisosA() )

-- Interface --
public interface RestApi {
@GET("/devolverPisosA")
Call<List<pisoAlquiler>> devolverPisosA();
}

-- Pojo Class --
public class pisoAlquiler {
private int codigo;
private String fotos;
// GET AND SET INCLUDED...
}

-- Activity --
public class Alquiler extends AppCompatActivity implements Callback<List<pisoAlquiler>> {

public static final String BASE_URL = "http://192.168.0.156:52896/Service1.svc";

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alquiler);

        // CREATE CLIENT SERVICE
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        // prepare call in Retrofit 2.0
        RestApi restApi = retrofit.create(RestApi.class);

        Call<List<pisoAlquiler>> call = restApi.devolverPisosA();
        //asynchronous call
        call.enqueue(this);
}


@Override
public void onResponse(Call<List<pisoAlquiler>> call, Response<List<pisoAlquiler>> response) {
    setProgressBarIndeterminateVisibility(false);

    responsePisosAlquiler = (ArrayList<pisoAlquiler>) response.body();
}

@Override
public void onFailure(Call<List<pisoAlquiler>> call, Throwable t) {
    Toast.makeText(Alquiler.this, t.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}

所以我的 main_activity 正在调用(并开始一个新的 activity)第二个 activity(启动改造),但我从来没有达到它。第二个 activity returns 到 main_activity 立即不做任何事情(改造的东西)...

谢谢队友...

已编辑: 问题(我猜)可能是我对端点的定义。当我使用 baseUrl 设置改造并获得...我的 WCF 看起来像 http://192.168.0.156:52896/Service1.svc 并且我想调用的方法是 devolverPisosA,但我不知道如何设置改造以使用它。

刚刚尝试

baseUrl = http://192.168.0.156:52896/Service1.svc/ @GET("devolverPisosA")

嗯,

问题是我处于调试模式和 WCF(Visual Studio)并且 Android Studio 未在同一网络中配置。

要配置 Visual Studio 以便在本地网络中使用 Android Studio,请执行以下操作:

Web.Config 必须设置为从不同的地方收听。在服务和行为标签之间:

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>

打开applicationhost.config分配在工程文件夹-->Config:改下一个:

<site name="Proyect" id="2">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="c:\ProjectFolder\Proyect />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:52896:localhost" />
            </bindings>
        </site>

对于:

<site name="Proyect" id="2">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="c:\ProjectFolder\Proyect" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:52896:localhost" />
              <binding protocol="http" bindingInformation="*:52896:*" />
            </bindings>
        </site>

有了这个,我们就可以监听内部请求了。

为该端口打开 Windows 防火墙。