This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 410667dafe0c7cd40f9286c53fa83937589fc8d6
Author: kkrisz1 <[email protected]>
AuthorDate: Tue Oct 1 10:18:23 2019 +0200

    CXF-8128: Fill address field in case of responses
    
    (cherry picked from commit c46694d554cd087d2fccb35b10a691af501720fc)
    (cherry picked from commit 51c0446ff43c0ffe5350e268b20f023bfacf3784)
---
 .../cxf/ext/logging/event/DefaultLogEventMapper.java   | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git 
a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
 
b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
index 755a4d3..cde46a9 100644
--- 
a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
+++ 
b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
@@ -77,10 +77,7 @@ public class DefaultLogEventMapper {
         Map<String, String> headerMap = getHeaders(message);
         event.setHeaders(headerMap);
 
-        String uri = getUri(message);
-        if (uri != null) {
-            event.setAddress(uri);
-        }
+        event.setAddress(getAddress(message, event));
 
         event.setPrincipal(getPrincipal(message));
         event.setBinaryContent(isBinaryContent(message));
@@ -146,6 +143,19 @@ public class DefaultLogEventMapper {
         return result;
     }
 
+    private String getAddress(Message message, LogEvent event) {
+        final Message observedMessage;
+        if (event.getType() == EventType.RESP_IN) {
+            observedMessage = message.getExchange().getOutMessage();
+        } else if (event.getType() == EventType.RESP_OUT) {
+            observedMessage = message.getExchange().getInMessage();
+        } else {
+            observedMessage = message;
+        }
+
+        return getUri(observedMessage);
+    }
+
     private String getUri(Message message) {
         String uri = safeGet(message, Message.REQUEST_URL);
         if (uri == null) {

Reply via email to