Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add Oracle WebLogic 14.1.2 support

Open
#4,549 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
java
Domain
backend

Research direction

Start with the supported technologies matrix and the WebLogic HTTP failure described in the issue, comparing the existing 12.2 integration coverage with WebLogic 14.1.2. Reproduce against WebLogic 14.1.2.0.0, Oracle JDK 21, agent 1.56.0, and plain HTTP; done means the agent reaches APM Server without the null socket-factory failure and the version is covered by integration tests.

Written by the indexing model from the issue text.

Description

agent-java

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:

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]

Two things distinguish this from prior reports:

  • It occurs on plain HTTP, not HTTPS.
  • It is a different failure from #2409, which was an HTTPS ClassNotFoundException for weblogic.security.SSL.jsseadapter.JaSSLContextImpl. That was fixed by #3870, and 1.56.0 includes the fix, so the socket factory returning null is 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=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.
  • HTTPS rather than HTTP. A distinct WebLogic code path, and the one agent-side defect known to affect it (#2409) is fixed in 1.56.0. Untested here, and gated on the deployment having TLS available.

Additional context

Environment where this was reproduced:

WebLogic 14.1.2.0.0, production mode, managed server started via NodeManager
JDK Oracle JDK 21
Agent 1.56.0
APM Server self-managed, plain HTTP
OS Linux (RHEL 8)
Dominant language
Java
Stars
593
Forks
337
Avg merge
15h 24m
Merged PRs (30d)
15

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from elastic/apm-agent-java

All issues in elastic/apm-agent-java

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.