Я построил простой 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)