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,