Author: dkulp
Date: Fri Mar 11 04:43:58 2011
New Revision: 1080448

URL: http://svn.apache.org/viewvc?rev=1080448&view=rev
Log:
Merged revisions 1080440 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1080440 | dkulp | 2011-03-10 23:24:41 -0500 (Thu, 10 Mar 2011) | 3 lines
  
  [CXF-3363] Make creation of various SAAJ factories go through a common
  class that can handle various J2EE issues and SAAJ version issues and
  such.
........

Added:
    
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJFactoryResolver.java
      - copied unchanged from r1080440, 
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJFactoryResolver.java
Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java
    
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/SOAPBindingImpl.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalMessageImpl.java

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java?rev=1080448&r1=1080447&r2=1080448&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java
 Fri Mar 11 04:43:58 2011
@@ -29,7 +29,6 @@ import javax.xml.namespace.QName;
 import javax.xml.soap.AttachmentPart;
 import javax.xml.soap.Detail;
 import javax.xml.soap.MessageFactory;
-import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFault;
 import javax.xml.soap.SOAPHeader;
@@ -46,6 +45,7 @@ import org.w3c.dom.Node;
 import org.apache.cxf.Bus;
 import org.apache.cxf.attachment.AttachmentDataSource;
 import org.apache.cxf.binding.soap.Soap11;
+import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.binding.soap.SoapFault;
 import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.binding.soap.SoapMessage;
@@ -84,17 +84,20 @@ public class SAAJInInterceptor extends A
         super(phase);
     }
     
-    private synchronized MessageFactory getFactory(SoapMessage message) throws 
SOAPException {
+    public synchronized MessageFactory getFactory(SoapMessage message) throws 
SOAPException {
         if (message.getVersion() instanceof Soap11) {
             if (factory11 == null) { 
-                factory11 = MessageFactory.newInstance();
+                factory11 = 
SAAJFactoryResolver.createMessageFactory(message.getVersion());
             } 
             return factory11;
         }
-        if (factory12 == null) {
-            factory12 = 
MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
+        if (message.getVersion() instanceof Soap12) {
+            if (factory12 == null) {
+                factory12 = 
SAAJFactoryResolver.createMessageFactory(message.getVersion());
+            }
+            return factory12;
         }
-        return factory12;
+        return SAAJFactoryResolver.createMessageFactory(null);
     }
     
     public void handleMessage(SoapMessage message) throws Fault {

Modified: 
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java?rev=1080448&r1=1080447&r2=1080448&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
 Fri Mar 11 04:43:58 2011
@@ -29,7 +29,6 @@ import java.util.ResourceBundle;
 import javax.xml.soap.AttachmentPart;
 import javax.xml.soap.MessageFactory;
 import javax.xml.soap.MimeHeader;
-import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.soap.SOAPPart;
@@ -41,6 +40,7 @@ import org.w3c.dom.Node;
 
 import org.apache.cxf.attachment.AttachmentImpl;
 import org.apache.cxf.binding.soap.Soap11;
+import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.binding.soap.SoapFault;
 import org.apache.cxf.binding.soap.SoapMessage;
 import org.apache.cxf.binding.soap.SoapVersion;
@@ -82,14 +82,17 @@ public class SAAJOutInterceptor extends 
     public synchronized MessageFactory getFactory(SoapMessage message) throws 
SOAPException {
         if (message.getVersion() instanceof Soap11) {
             if (factory11 == null) { 
-                factory11 = MessageFactory.newInstance();
+                factory11 = 
SAAJFactoryResolver.createMessageFactory(message.getVersion());
             } 
             return factory11;
         }
-        if (factory12 == null) {
-            factory12 = 
MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
+        if (message.getVersion() instanceof Soap12) {
+            if (factory12 == null) {
+                factory12 = 
SAAJFactoryResolver.createMessageFactory(message.getVersion());
+            }
+            return factory12;
         }
-        return factory12;
+        return SAAJFactoryResolver.createMessageFactory(null);
     }
     public void handleMessage(SoapMessage message) throws Fault {
         SOAPMessage saaj = message.getContent(SOAPMessage.class);

Modified: 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java?rev=1080448&r1=1080447&r2=1080448&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsClientProxy.java
 Fri Mar 11 04:43:58 2011
@@ -31,7 +31,6 @@ import java.util.logging.Logger;
 
 import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPFactory;
 import javax.xml.soap.SOAPFault;
 import javax.xml.ws.AsyncHandler;
 import javax.xml.ws.Binding;
@@ -48,6 +47,7 @@ import javax.xml.ws.soap.SOAPFaultExcept
 import org.w3c.dom.Node;
 
 import org.apache.cxf.binding.soap.SoapFault;
+import org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver;
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.endpoint.Client;
@@ -199,7 +199,7 @@ public class JaxWsClientProxy extends or
                     .equals(((SoapFault)ex).getFaultCode().getNamespaceURI())) 
{
                 //change to 1.1
                 try {
-                    soapFault = SOAPFactory.newInstance().createFault();
+                    soapFault = 
SAAJFactoryResolver.createSOAPFactory(null).createFault();
                 } catch (Throwable t) {
                     //ignore
                 }

Modified: 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/SOAPBindingImpl.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/SOAPBindingImpl.java?rev=1080448&r1=1080447&r2=1080448&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/SOAPBindingImpl.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/SOAPBindingImpl.java
 Fri Mar 11 04:43:58 2011
@@ -24,7 +24,6 @@ import java.util.ResourceBundle;
 import java.util.Set;
 import java.util.logging.Logger;
 import javax.xml.soap.MessageFactory;
-import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFactory;
 import javax.xml.ws.WebServiceException;
@@ -34,6 +33,7 @@ import org.apache.cxf.binding.soap.Soap1
 import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.binding.soap.SoapBindingConstants;
 import org.apache.cxf.binding.soap.model.SoapBindingInfo;
+import org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.jaxws.binding.AbstractBindingImpl;
 import org.apache.cxf.jaxws.support.JaxWsEndpointImpl;
@@ -95,11 +95,7 @@ public class SOAPBindingImpl extends Abs
         if (this.soapBinding instanceof SoapBindingInfo) {
             SoapBindingInfo bindingInfo = (SoapBindingInfo) this.soapBinding;
             try {
-                if (bindingInfo.getSoapVersion() instanceof Soap11) {
-                    return MessageFactory.newInstance();
-                } else if (bindingInfo.getSoapVersion() instanceof Soap12) {
-                    return 
MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
-                }
+                return 
SAAJFactoryResolver.createMessageFactory(bindingInfo.getSoapVersion());
             } catch (SOAPException e) {
                 throw new 
WebServiceException(BUNDLE.getString("SAAJ_FACTORY_ERR"), e);
             }
@@ -111,11 +107,7 @@ public class SOAPBindingImpl extends Abs
         if (this.soapBinding instanceof SoapBindingInfo) {
             SoapBindingInfo bindingInfo = (SoapBindingInfo) this.soapBinding;
             try {
-                if (bindingInfo.getSoapVersion() instanceof Soap11) {
-                    return SOAPFactory.newInstance();
-                } else if (bindingInfo.getSoapVersion() instanceof Soap12) {
-                    return 
SOAPFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
-                }
+                return 
SAAJFactoryResolver.createSOAPFactory(bindingInfo.getSoapVersion());
             } catch (SOAPException e) {
                 throw new 
WebServiceException(BUNDLE.getString("SAAJ_FACTORY_ERR"), e);
             }

Modified: 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java?rev=1080448&r1=1080447&r2=1080448&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
 Fri Mar 11 04:43:58 2011
@@ -26,9 +26,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.xml.namespace.QName;
-import javax.xml.soap.MessageFactory;
 import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFault;
 import javax.xml.soap.SOAPMessage;
@@ -45,6 +43,8 @@ import org.w3c.dom.Node;
 
 import org.apache.cxf.binding.soap.SoapFault;
 import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.SoapVersion;
+import org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.jaxws.context.WebServiceContextImpl;
@@ -434,11 +434,11 @@ public class HandlerChainInvoker {
         try {
             SOAPMessage soapMessage = null;
 
-            if (!(msg instanceof SoapMessage) || 
((SoapMessage)msg).getVersion().getVersion() <= 1.11d) {
-                soapMessage = 
MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL).createMessage();
-            } else {
-                soapMessage = 
MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL).createMessage();
+            SoapVersion version = null;
+            if (msg instanceof SoapMessage) {
+                version = ((SoapMessage)msg).getVersion();
             }
+            soapMessage = 
SAAJFactoryResolver.createMessageFactory(version).createMessage();
             msg.setContent(SOAPMessage.class, soapMessage);
 
             SOAPBody body = soapMessage.getSOAPBody();

Modified: 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalMessageImpl.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalMessageImpl.java?rev=1080448&r1=1080447&r2=1080448&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalMessageImpl.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalMessageImpl.java
 Fri Mar 11 04:43:58 2011
@@ -28,7 +28,6 @@ import javax.activation.DataSource;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.soap.MessageFactory;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.stream.XMLStreamException;
@@ -45,6 +44,7 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
 import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver;
 import org.apache.cxf.common.WSDLConstants;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.interceptor.Fault;
@@ -250,9 +250,9 @@ public class LogicalMessageImpl implemen
     private SOAPMessage initSOAPMessage(InputStream is) throws SOAPException, 
IOException {
         SOAPMessage msg = null;
         if (is != null) {
-            msg = MessageFactory.newInstance().createMessage(null, is);
+            msg = 
SAAJFactoryResolver.createMessageFactory(null).createMessage(null, is);
         } else {
-            msg = MessageFactory.newInstance().createMessage();
+            msg = 
SAAJFactoryResolver.createMessageFactory(null).createMessage();
         }
         msg.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");
         
msg.getSOAPPart().getEnvelope().addNamespaceDeclaration(WSDLConstants.NP_SCHEMA_XSD,


Reply via email to