cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ga...@apache.org
Subject svn commit: r534182 - in /incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap: HeaderUtil.java interceptor/MustUnderstandInterceptor.java
Date Tue, 01 May 2007 18:22:40 GMT
Author: gawor
Date: Tue May  1 11:22:39 2007
New Revision: 534182

URL: http://svn.apache.org/viewvc?view=rev&rev=534182
Log:
Make MustUnderstandInterceptor run on client (and added a bunch of null checks)

Modified:
    incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/HeaderUtil.java
    incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/MustUnderstandInterceptor.java

Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/HeaderUtil.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/HeaderUtil.java?view=diff&rev=534182&r1=534181&r2=534182
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/HeaderUtil.java
(original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/HeaderUtil.java
Tue May  1 11:22:39 2007
@@ -42,9 +42,19 @@
     private static Set<QName> getHeaderParts(BindingMessageInfo bmi) {
         Object obj = bmi.getProperty(HEADERS_PROPERTY);
         if (obj == null) {
-            Set<QName> set = new HashSet<QName>();
-            List<MessagePartInfo> mps = bmi.getMessageInfo().getMessageParts();
-            for (ExtensibilityElement ext : bmi.getExtensors(ExtensibilityElement.class))
{
+            Set<QName> set = getHeaderQNames(bmi);
+            bmi.setProperty(HEADERS_PROPERTY, set);
+            return set;
+        }
+        return CastUtils.cast((Set<?>)obj);
+    }
+
+    private static Set<QName> getHeaderQNames(BindingMessageInfo bmi) {
+        Set<QName> set = new HashSet<QName>();
+        List<MessagePartInfo> mps = bmi.getMessageInfo().getMessageParts();
+        List<ExtensibilityElement> extList = bmi.getExtensors(ExtensibilityElement.class);
+        if (extList != null) {
+            for (ExtensibilityElement ext : extList) {
                 if (SOAPBindingUtil.isSOAPHeader(ext)) {
                     SoapHeader header = SOAPBindingUtil.getSoapHeader(ext);
                     String pn = header.getPart();
@@ -60,10 +70,8 @@
                     }
                 }
             }
-            bmi.setProperty(HEADERS_PROPERTY, set);
-            return set;
         }
-        return CastUtils.cast((Set<?>)obj);
+        return set;
     }
 
     public static Set<QName> getHeaderQNameInOperationParam(SoapMessage soapMessage)
{
@@ -71,8 +79,12 @@
         BindingOperationInfo bop = soapMessage.getExchange()
             .get(BindingOperationInfo.class);
         if (bop != null) {
-            headers.addAll(getHeaderParts(bop.getInput()));
-            headers.addAll(getHeaderParts(bop.getOutput()));
+            if (bop.getInput() != null) {
+                headers.addAll(getHeaderParts(bop.getInput()));
+            }
+            if (bop.getOutput() != null) {
+                headers.addAll(getHeaderParts(bop.getOutput()));
+            }
         }
         return headers;
     }

Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/MustUnderstandInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/MustUnderstandInterceptor.java?view=diff&rev=534182&r1=534181&r2=534182
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/MustUnderstandInterceptor.java
(original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/MustUnderstandInterceptor.java
Tue May  1 11:22:39 2007
@@ -51,11 +51,7 @@
     }
 
     public void handleMessage(SoapMessage soapMessage) {
-        SoapVersion soapVersion = soapMessage.getVersion();
-        //Client-in message needs not to handle MustUnderstand
-        if (isRequestor(soapMessage)) {
-            return;
-        }                
+        SoapVersion soapVersion = soapMessage.getVersion();              
         Set<Element> mustUnderstandHeaders = new HashSet<Element>();
         Set<URI> serviceRoles = new HashSet<URI>();
         Set<QName> notUnderstandQNames = new HashSet<QName>();
@@ -80,6 +76,7 @@
                     Set<URI> serviceRoles) {
 
         Set<QName> paramHeaders = HeaderUtil.getHeaderQNameInOperationParam(soapMessage);
+
         if (paramHeaders != null) {
             mustUnderstandQNames.addAll(paramHeaders);
         }



Mime
View raw message