Author: dkulp
Date: Mon Apr  7 12:14:43 2008
New Revision: 645649

URL: http://svn.apache.org/viewvc?rev=645649&view=rev
Log:
Make the SoapActionInInterceptor a bit more defensive

Modified:
    
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
    
incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java

Modified: 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java?rev=645649&r1=645648&r2=645649&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
 (original)
+++ 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
 Mon Apr  7 12:14:43 2008
@@ -28,6 +28,7 @@
 import org.apache.cxf.binding.soap.SoapBindingConstants;
 import org.apache.cxf.binding.soap.SoapMessage;
 import org.apache.cxf.binding.soap.model.SoapOperationInfo;
+import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.interceptor.Fault;
@@ -85,7 +86,7 @@
     }
 
     private void getAndSetOperation(SoapMessage message, String action) {
-        if ("".equals(action)) {
+        if (StringUtils.isEmpty(action)) {
             return;
         }
         
@@ -95,9 +96,12 @@
         BindingOperationInfo bindingOp = null;
         
         Collection<BindingOperationInfo> bops = 
ep.getBinding().getBindingInfo().getOperations();
+        if (bops == null) {
+            return;
+        }
         for (BindingOperationInfo boi : bops) {
             SoapOperationInfo soi = (SoapOperationInfo) 
boi.getExtensor(SoapOperationInfo.class);
-            if (soi != null && soi.getAction().equals(action)) {
+            if (soi != null && action.equals(soi.getAction())) {
                 if (bindingOp != null) {
                     //more than one op with the same action, will need to 
parse normally
                     return;

Modified: 
incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java?rev=645649&r1=645648&r2=645649&view=diff
==============================================================================
--- 
incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
 (original)
+++ 
incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
 Mon Apr  7 12:14:43 2008
@@ -202,6 +202,7 @@
             
currentMarshallerProperties.put("com.sun.xml.bind.namespacePrefixMapper",
                                             getNamespacePrefixMapper());
         }
+        currentMarshallerProperties.putAll(marshallerProperties);
 
         Integer mtomThresholdInt = new Integer(getMtomThreshold());
         if (c == XMLStreamWriter.class) {


Reply via email to