This is an automated email from the ASF dual-hosted git repository. robertlazarski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
commit 631f523ee29949084961d7a128b0d4034786504f Author: Robert Lazarski <[email protected]> AuthorDate: Mon Apr 20 10:44:19 2026 -1000 AXIS2-5762 Add transport ports to MessageContext Add TRANSPORT_LOCAL_PORT and TRANSPORT_REMOTE_PORT constants to MessageContext. AxisServlet now populates both from the servlet request at message ingress (request.getLocalPort() and request.getRemotePort()). Service code can access them via: Integer localPort = (Integer) msgContext.getProperty( MessageContext.TRANSPORT_LOCAL_PORT); Integer remotePort = (Integer) msgContext.getProperty( MessageContext.TRANSPORT_REMOTE_PORT); --- .../src/org/apache/axis2/context/MessageContext.java | 14 ++++++++++++++ .../java/org/apache/axis2/transport/http/AxisServlet.java | 3 +++ 2 files changed, 17 insertions(+) diff --git a/modules/kernel/src/org/apache/axis2/context/MessageContext.java b/modules/kernel/src/org/apache/axis2/context/MessageContext.java index e03368de48..0caabc03a5 100644 --- a/modules/kernel/src/org/apache/axis2/context/MessageContext.java +++ b/modules/kernel/src/org/apache/axis2/context/MessageContext.java @@ -235,6 +235,20 @@ public class MessageContext extends AbstractContext */ public static final String TRANSPORT_SUCCEED = "TRANSPORT_SUCCEED"; + /** + * AXIS2-5762: Local port on which the request was received. + * Set by the transport listener (e.g., AxisServlet) at request ingress. + * Value type: {@code Integer}. + */ + public static final String TRANSPORT_LOCAL_PORT = "TRANSPORT_LOCAL_PORT"; + + /** + * AXIS2-5762: Remote port of the client that sent the request. + * Set by the transport listener (e.g., AxisServlet) at request ingress. + * Value type: {@code Integer}. + */ + public static final String TRANSPORT_REMOTE_PORT = "TRANSPORT_REMOTE_PORT"; + /** * Field DEFAULT_CHAR_SET_ENCODING. This is the default value for * CHARACTER_SET_ENCODING property. diff --git a/modules/transport/http/src/main/java/org/apache/axis2/transport/http/AxisServlet.java b/modules/transport/http/src/main/java/org/apache/axis2/transport/http/AxisServlet.java index 8fc6ebef78..61f84ae89b 100644 --- a/modules/transport/http/src/main/java/org/apache/axis2/transport/http/AxisServlet.java +++ b/modules/transport/http/src/main/java/org/apache/axis2/transport/http/AxisServlet.java @@ -809,6 +809,9 @@ public class AxisServlet extends HttpServlet { msgContext.setTo(new EndpointReference(requestURI)); msgContext.setFrom(new EndpointReference(request.getRemoteAddr())); msgContext.setProperty(MessageContext.REMOTE_ADDR, request.getRemoteAddr()); + // AXIS2-5762: Expose transport ports on the MessageContext + msgContext.setProperty(MessageContext.TRANSPORT_LOCAL_PORT, request.getLocalPort()); + msgContext.setProperty(MessageContext.TRANSPORT_REMOTE_PORT, request.getRemotePort()); msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, new ServletBasedOutTransportInfo(response)); // set the transport Headers
