You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/04/21 17:33:25 UTC
svn commit: r767189 - in /cxf/trunk/rt:
bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
Author: dkulp
Date: Tue Apr 21 15:33:24 2009
New Revision: 767189
URL: http://svn.apache.org/viewvc?rev=767189&view=rev
Log:
Use the cached factories for the MessageModeOut stuff as well
Modified:
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java?rev=767189&r1=767188&r2=767189&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java Tue Apr 21 15:33:24 2009
@@ -74,7 +74,7 @@
public SAAJOutInterceptor() {
super(Phase.PRE_PROTOCOL);
}
- 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();
Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java?rev=767189&r1=767188&r2=767189&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java Tue Apr 21 15:33:24 2009
@@ -29,7 +29,6 @@
import javax.xml.bind.JAXBContext;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
-import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPFault;
import javax.xml.soap.SOAPMessage;
@@ -57,7 +56,6 @@
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Node;
-import org.apache.cxf.binding.soap.Soap11;
import org.apache.cxf.binding.soap.SoapFault;
import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
@@ -117,8 +115,9 @@
m,
"SOAP/HTTP");
} else if (m == Service.Mode.MESSAGE) {
- client.getOutInterceptors().add(new SAAJOutInterceptor());
- client.getOutInterceptors().add(new MessageModeOutInterceptor());
+ SAAJOutInterceptor saajOut = new SAAJOutInterceptor();
+ client.getOutInterceptors().add(saajOut);
+ client.getOutInterceptors().add(new MessageModeOutInterceptor(saajOut));
client.getInInterceptors().add(new SAAJInInterceptor());
client.getInInterceptors().add(new MessageModeInInterceptor(clazz));
}
@@ -310,9 +309,11 @@
static class MessageModeOutInterceptor extends AbstractSoapInterceptor {
- public MessageModeOutInterceptor() {
+ SAAJOutInterceptor saajOut;
+ public MessageModeOutInterceptor(SAAJOutInterceptor saajOut) {
super(Phase.PRE_PROTOCOL);
addBefore(SAAJOutInterceptor.class.getName());
+ this.saajOut = saajOut;
}
public void handleMessage(SoapMessage message) throws Fault {
@@ -324,13 +325,7 @@
soapMessage = (SOAPMessage)o;
} else {
try {
- MessageFactory factory = null;
- if (message.getVersion() instanceof Soap11) {
- factory = MessageFactory.newInstance();
- } else {
- factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
- }
-
+ MessageFactory factory = saajOut.getFactory(message);
soapMessage = factory.createMessage();
SOAPPart part = soapMessage.getSOAPPart();
if (o instanceof Source) {