cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fred Dushin (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-1849) PolicyVerificationOutInterceptor writes faults at wrong phase when processing response
Date Fri, 10 Oct 2008 18:55:44 GMT

    [ https://issues.apache.org/jira/browse/CXF-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12638626#action_12638626
] 

Fred Dushin commented on CXF-1849:
----------------------------------

Thanks, Dan!

The merge back to the 2.1 fixes branch looks like it should be without conflict.  Should I
submit a patch for that?  Or is there a different process for back-merging?

/work/src/apache/cxf/branches/2.1.x-fixes> svn diff -r 703557 rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationOutInterceptor.java
===================================================================
--- rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationOutInterceptor.java
(revision 703557)
+++ rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationOutInterceptor.java
(working copy)
@@ -63,32 +63,10 @@
         if (policy == null) {
             return;
         }
-
-        // CXF-1849 Log a message at FINE level if policy verification fails
-        // on the outbound-server side of a response
-        try {
-            aim.checkEffectivePolicy(policy.getPolicy());
-        } catch (final PolicyException e) {
-            if (isOutboundServer(message)) {
-                LOG.fine("An exception was thrown when verifying that the effective policy
for "
-                         + "this request was satisfied.  However, this exception will not
result in "
-                         + "a fault.  The exception raised is: "
-                         + e.toString());
-                return;
-            } else {
-                throw e;
-            }
-        }
+        
+        aim.checkEffectivePolicy(policy.getPolicy());
+        
         LOG.fine("Verified policies for outbound message.");
     }
-    
-    private boolean isOutboundServer(final Message message) {
-        final Object role = message.get(Message.REQUESTOR_ROLE);
-        final boolean isClient =
-            role != null ? Boolean.TRUE.equals(role) : false;
-        final boolean isOutbound =
-            message == message.getExchange().getOutMessage()
-            || message == message.getExchange().getOutFaultMessage();
-        return !isClient && isOutbound;
-    }
+
 }



> PolicyVerificationOutInterceptor writes faults at wrong phase when processing response
> --------------------------------------------------------------------------------------
>
>                 Key: CXF-1849
>                 URL: https://issues.apache.org/jira/browse/CXF-1849
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.1.2
>            Reporter: Fred Dushin
>            Assignee: Daniel Kulp
>             Fix For: 2.1.3, 2.2
>
>         Attachments: CXF-1849-trunk-r703513.patch
>
>
> When a CXF response is processed on an endpoint that contains policy assertions (via
spring, WSDL, etc), and the policy assertions are not marked as asserted, the PolicyVerificationOutInterceptor
properly raises a SOAP fault.  However, this interceptor is inserted into the "post-stream"
phase, and it seems as though the fault gets written to the SOAP body after the business logic
has been written.
> So a response in this scenario will come out as follows:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>   <soap:Body>
>      <sayHiResponse xmlns="...">
>        <responseType>Bonjou</responseType>
>      </sayHiResponse>
>      <soap:Fault>
>        <faultcode>soap:Server</faultcode>
>        <faultstring>These policy alternatives can not be satisfied: [snip]</faultstring
>
>     </soap:Fault>
>   </soap:Body>
> </soap:Envelope>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message