-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Milestone
Description
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