Skip to content

Getting Java.IO.FileNotFoundException on calling httpClient.PostAsync in MAUI app - Android #80139

@amittapelly11

Description

@amittapelly11

Description

I'm getting the below exception when trying to call httpclient.PostAsync.
The API will return the user defined exception which we can able to caught in Xamarin Forms app but not in MAUI app
where we have migrated from Xamarin Forms app to MAUI app.

{System.Net.WebException: **Requested Url**
 ---> Java.IO.FileNotFoundException: **Requested Url**
   at Java.Interop.JniEnvironment.InstanceMethods.CallObjectMethod(JniObjectReference instance, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:line 11524
   at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualObjectMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 389
   at Java.Net.URLConnection.get_InputStream() in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net6.0/android-31/mcw/Java.Net.URLConnection.cs:line 743
   at Xamarin.Android.Net.AndroidMessageHandler.DoProcessRequest(HttpRequestMessage request, URL javaUrl, HttpURLConnection httpConnection, CancellationToken cancellationToken, RequestRedirectionState redirectState) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 560
   at Xamarin.Android.Net.AndroidMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 375
  --- End of managed Java.IO.FileNotFoundException stack trace ---
java.io.FileNotFoundException: **Requested Url**
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:255)

  --- End of managed Java.IO.FileNotFoundException stack trace ---
java.io.FileNotFoundException: **Requested Url**
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:255)

   --- End of inner exception stack trace ---
   at Xamarin.Android.Net.AndroidMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 389
   at SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)

Steps to Reproduce

This is the code we are using to Post to API

 protected async Task<TResp> PostFunc<TArgs, TResp>(string uriString, TArgs args)
        {
            var uri = new Uri(_baseAddress + uriString);
            var jsonreq = JsonConvert.SerializeObject(args);
            var reqContent = new StringContent(jsonreq, Encoding.UTF8, "application/json");

            try
            {
                var response = await _client.PostAsync(uri, reqContent);
                if (response.IsSuccessStatusCode)
                {
                    var respContent = await response.Content.ReadAsStringAsync();

                    return JsonConvert.DeserializeObject<TResp>(respContent);
                }
                else
                    throw ExceptionFromErrorResponse(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

Link to public reproduction project repository

No

Version with bug

6.0.486

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

Android 11 and up

Did you find any workaround?

No response

Relevant log output

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions