You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The supported technologies matrix lists Oracle WebLogic 12.2 as the only version covered by the integration test suite. On WebLogic 14.1.2.0.0 the agent cannot reach APM Server at all. Reverting back to 12c fixes the issue.
The agent starts and the tracer reaches RUNNING, then every outbound HTTP call fails because WebLogic's own HTTP client returns a null socket factory:
WARN co.elastic.apm.agent.report.ApmServerHealthChecker - Elastic APM server http://<apm-server>:8200/ is not available (Cannot invoke "javax.net.SocketFactory.createSocket()" because the return value of "weblogic.net.http.HttpClient.getSocketFactory()" is null)
java.lang.NullPointerException: Cannot invoke "javax.net.SocketFactory.createSocket()" because the return value of "weblogic.net.http.HttpClient.getSocketFactory()" is null
at weblogic.net.http.HttpClient.openServer(HttpClient.java:403) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.HttpClient.New(HttpClient.java:329) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:368) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:770) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:42) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at co.elastic.apm.agent.report.HttpUtils.consumeAndClose(HttpUtils.java:62) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
at co.elastic.apm.agent.report.ApmServerClient.executeForAllUrls(ApmServerClient.java:306) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
at co.elastic.apm.agent.report.ApmServerHealthChecker.call(ApmServerHealthChecker.java:67) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
Remaining on 12.2 is not always an available option.
Describe the solution you'd like
Add Oracle WebLogic 14.1.2 to the tested matrix, so the agent connects to APM Server on that version without workarounds.
Describe alternatives you've considered
-DUseSunHttpHandler=true makes WebLogic defer to the JDK's Sun HTTP handler instead of its own, bypassing the failing class. Reported in earlier WebLogic cases as a global flag that also alters WebLogic's own HTTP behaviour, so a trade-off rather than a clean workaround. Untested against this failure.
elastic.apm.delay_agent_premain_ms was tried during the earlier WebLogic investigation and did not reliably help there.
Is your feature request related to a problem?
The supported technologies matrix lists Oracle WebLogic 12.2 as the only version covered by the integration test suite. On WebLogic 14.1.2.0.0 the agent cannot reach APM Server at all. Reverting back to 12c fixes the issue.
The agent starts and the tracer reaches
RUNNING, then every outbound HTTP call fails because WebLogic's own HTTP client returns a null socket factory:Two things distinguish this from prior reports:
ClassNotFoundExceptionforweblogic.security.SSL.jsseadapter.JaSSLContextImpl. That was fixed by Set context CL for reliable weblogic connection #3870, and 1.56.0 includes the fix, so the socket factory returningnullis not covered by it.Remaining on 12.2 is not always an available option.
Describe the solution you'd like
Add Oracle WebLogic 14.1.2 to the tested matrix, so the agent connects to APM Server on that version without workarounds.
Describe alternatives you've considered
-DUseSunHttpHandler=truemakes WebLogic defer to the JDK's Sun HTTP handler instead of its own, bypassing the failing class. Reported in earlier WebLogic cases as a global flag that also alters WebLogic's own HTTP behaviour, so a trade-off rather than a clean workaround. Untested against this failure.elastic.apm.delay_agent_premain_mswas tried during the earlier WebLogic investigation and did not reliably help there.Additional context
Environment where this was reproduced: