Hi B Jayachithra,
Thanks for posting on Q&A forum. The error code given was returned to JAVA from the WebSphere server connection to login.microsoftonline.com:443.
Upon researching that error (EDC8121I Connection reset. (errno2=0x76650446)) on the IBM documentation it was noted as caused by "The connection was forcibly closed by the peer"
Upon looking further into the JAVA errors (java.util.concurrent.ExecutionException & io.netty.handler.proxy.HttpProxyHandler.HttpProxyConnectException) indicates that an error code was thrown via code executed in in Future
that wasn't handled.
To capture more information from the exception, create launderThrowable
method that take care of unwrapping generic ExecutionExceptions
. See here for more details with JAVA code.
Also, as this seems to relate more to the connection/proxy/server setup. It would also be good to review a tcpdump/Wireshark. You can also do this via JAVA parser code.
Due to being mentioned as this is occurring when multiple POST requests for (sendMail) are placed in a short period of time. Further the HTTPS error 500 indicates more of an internal server error and review:
- Throttling limit exceed for request calls in a certain time period.
- https://learn.microsoft.com/en-us/graph/throttling
- https://learn.microsoft.com/en-us/graph/throttling-limits
- Note: That throttling limits are applicable to all services. Internal limits (or lack of) within the organization are separate from throttling limits of GRAPH API. Also note that to extract a large volume of data from Microsoft Graph should use Microsoft Graph Data Connect instead of the Microsoft Graph REST APIs. Microsoft Graph Data Connect allows organizations to extract Microsoft 365 data in bulk without being subject to throttling limits.
- Mail server limit exceeded sending messages in a certain time period.
- Review Network Topology and Load Balancing
We recommend using JSON batching implemented with try...catch logic to mitigate potential throttling issues (if applicable). See this learning path for a real-world training example using NET Core and JAVA Tutorial showing listing of an inbox with catch...try logic.
Also, to review the email sending limits of the email server in question.
One last item for consideration is a new preview product Microsoft Graph Developer Proxy v0.7 which allows you to simulate behaviors on any API. using a list of API URLs to simulate errors (including throttling & server issues).
Finally, if a further review/analysis of Proxy/Network/API setup is required.
Please redirect with all details on specific 3rd party server setup or for Azure support.
Open a support request with IBM WebSphere
Open a support request with Azure Support
--please don't forget to upvote
and Accept as answer
if the reply is helpful--