. ASP Соединение с Web API сбрасывается при звонке с android - PullRequest
0 голосов
/ 07 апреля 2020

Я построил простой get api, возвращающий объект, используя asp web api

  public class DefaultController : ApiController
{

    public IHttpActionResult Get()
    {
        VolunteerDataModel dataModel = new VolunteerDataModel();
        dataModel.fullname = $"Saad Farhan";
        dataModel.email = "saadfarhan124@gmail.com";
        dataModel.address = "lorem";
        dataModel.dateOfBirth = "ipsum";
        return Ok(dataModel);
    }
}

Он работает, когда я звоню из почтальона, и также работает, когда я вручную проверяю его в браузере своего телефона, но каждый раз, когда я вызываю его из android кода, он выдает ошибку соединения. Результаты почтальона и результаты браузера телефона Я использовал разные библиотеки, такие как ретро-фиш и залп, но все это выдает мне ту же ошибку, то есть сброс соединения. Вот мой android код для Retrofit Client

public class RetrofitClientInstance {
private static Retrofit retrofit;
private static final String BASE_URL = "http://192.168.1.105:45455/";

public static Retrofit getRetrofitInstance() {

    if (retrofit == null) {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }

    return retrofit;
}

и для выполнения запроса:

 private Volunteer authenticate;
  @Override
protected void onCreate(Bundle savedInstanceState) {
    Call<com.example.myapplication.DataModels.Volunteer> call = authenticate.getVolunteer();
    call.enqueue(new Callback<com.example.myapplication.DataModels.Volunteer>() {
        @Override
        public void onResponse(Call<com.example.myapplication.DataModels.Volunteer> call, Response<com.example.myapplication.DataModels.Volunteer> response) {
            Log.d("farhan", response.message());
        }

        @Override
        public void onFailure(Call<com.example.myapplication.DataModels.Volunteer> call, Throwable t) {
            Log.d("farhan", t.getMessage());
        }
    });

}

Это мое сообщение в журнале: 2020-04-07 21:01:17.841 29432-29432/com.example.myapplication D/farhan: Connection reset

Stack Трассировка:

W/System.err: java.net.SocketException: Connection reset
W/System.err:     at java.net.SocketInputStream.read(SocketInputStream.java:215)
    at java.net.SocketInputStream.read(SocketInputStream.java:144)
    at okio.Okio$2.read(Okio.java:140)
    at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
    at okio.RealBufferedSource.indexOf(RealBufferedSource.java:358)
    at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:230)
W/System.err:     at 
okhttp3.internal.http1.Http1ExchangeCodec.readHeaderLine(Http1ExchangeCodec.java:242)
    at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Http1ExchangeCodec.java:213)
    at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.java:115)
    at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:94)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:43)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
 W/System.err:     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at 
 okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
    at okhttp3.RealCall$AsyncCall.execute(RealCall.java:172)
    at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...