You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ru...@apache.org on 2006/03/07 08:05:40 UTC
svn commit: r383807 [3/3] - in /webservices/axis2/trunk/java/modules:
core/src/org/apache/axis2/transport/http/
doom/src/org/apache/axis2/om/impl/dom/
doom/src/org/apache/axis2/om/impl/dom/factory/
doom/src/org/apache/axis2/om/impl/dom/jaxp/ doom/src/o...
Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java Mon Mar 6 23:05:35 2006
@@ -20,6 +20,7 @@
import org.apache.ws.commons.om.OMElement;
import org.apache.ws.commons.om.OMXMLParserWrapper;
import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPFaultCode;
import org.apache.ws.commons.soap.SOAPFaultSubCode;
import org.apache.ws.commons.soap.SOAPFaultValue;
@@ -27,45 +28,56 @@
public class SOAP12FaultSubCodeImpl extends SOAPFaultSubCodeImpl {
//changed
- public SOAP12FaultSubCodeImpl(SOAPFaultCode parent) throws SOAPProcessingException {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME);
+ public SOAP12FaultSubCodeImpl(SOAPFaultCode parent, SOAPFactory factory)
+ throws SOAPProcessingException {
+ super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, factory);
}
//changed
public SOAP12FaultSubCodeImpl(SOAPFaultCode parent,
- OMXMLParserWrapper builder) {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder);
+ OMXMLParserWrapper builder,
+ SOAPFactory factory) {
+ super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder,
+ factory);
}
- public SOAP12FaultSubCodeImpl(SOAPFaultSubCode parent) throws SOAPProcessingException {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME);
+ public SOAP12FaultSubCodeImpl(SOAPFaultSubCode parent, SOAPFactory factory)
+ throws SOAPProcessingException {
+ super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, factory);
}
public SOAP12FaultSubCodeImpl(SOAPFaultSubCode parent,
- OMXMLParserWrapper builder) {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder);
+ OMXMLParserWrapper builder,
+ SOAPFactory factory) {
+ super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder,
+ factory);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!((parent instanceof SOAP12FaultSubCodeImpl) ||
(parent instanceof SOAP12FaultCodeImpl))) {
throw new SOAPProcessingException(
- "Expecting SOAP 1.2 implementation of SOAP FaultSubCode or SOAP FaultCodeValue as the parent. But received some other implementation");
+ "Expecting SOAP 1.2 implementation of SOAP FaultSubCode " +
+ "or SOAP FaultCodeValue as the parent. But received some " +
+ "other implementation");
}
}
public void setSubCode(SOAPFaultSubCode subCode) throws SOAPProcessingException {
if (!(subCode instanceof SOAP12FaultSubCodeImpl)) {
throw new SOAPProcessingException(
- "Expecting SOAP 1.2 implementation of SOAP Fault Sub Code. But received some other implementation");
+ "Expecting SOAP 1.2 implementation of SOAP Fault " +
+ "Sub Code. But received some other implementation");
}
super.setSubCode(subCode);
}
- public void setValue(SOAPFaultValue soapFaultSubCodeValue) throws SOAPProcessingException {
+ public void setValue(SOAPFaultValue soapFaultSubCodeValue)
+ throws SOAPProcessingException {
if (!(soapFaultSubCodeValue instanceof SOAP12FaultValueImpl)) {
throw new SOAPProcessingException(
- "Expecting SOAP 1.2 implementation of SOAP Fault Value. But received some other implementation");
+ "Expecting SOAP 1.2 implementation of SOAP Fault Value. " +
+ "But received some other implementation");
}
super.setValue(soapFaultSubCodeValue);
}
Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultTextImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultTextImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultTextImpl.java Mon Mar 6 23:05:35 2006
@@ -19,23 +19,27 @@
import org.apache.axis2.soap.impl.dom.SOAPFaultTextImpl;
import org.apache.ws.commons.om.OMElement;
import org.apache.ws.commons.om.OMXMLParserWrapper;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPFaultReason;
import org.apache.ws.commons.soap.SOAPProcessingException;
public class SOAP12FaultTextImpl extends SOAPFaultTextImpl {
- public SOAP12FaultTextImpl(SOAPFaultReason parent) throws SOAPProcessingException {
- super(parent);
+
+ public SOAP12FaultTextImpl(SOAPFaultReason parent, SOAPFactory factory) throws SOAPProcessingException {
+ super(parent, factory);
}
public SOAP12FaultTextImpl(SOAPFaultReason parent,
- OMXMLParserWrapper builder) {
- super(parent, builder);
+ OMXMLParserWrapper builder,
+ SOAPFactory factory) {
+ super(parent, builder, factory);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!(parent instanceof SOAP12FaultReasonImpl)) {
throw new SOAPProcessingException(
- "Expecting SOAP 1.2 implementation of SOAP FaultReason as the parent. But received some other implementation");
+ "Expecting SOAP 1.2 implementation of SOAP FaultReason " +
+ "as the parent. But received some other implementation");
}
}
}
Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultValueImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultValueImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultValueImpl.java Mon Mar 6 23:05:35 2006
@@ -19,15 +19,17 @@
import org.apache.axis2.soap.impl.dom.SOAPFaultValueImpl;
import org.apache.ws.commons.om.OMElement;
import org.apache.ws.commons.om.OMXMLParserWrapper;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPProcessingException;
public class SOAP12FaultValueImpl extends SOAPFaultValueImpl {
- public SOAP12FaultValueImpl(OMElement parent) throws SOAPProcessingException {
- super(parent);
+
+ public SOAP12FaultValueImpl(OMElement parent, SOAPFactory factory) throws SOAPProcessingException {
+ super(parent, factory);
}
- public SOAP12FaultValueImpl(OMElement parent, OMXMLParserWrapper builder) {
- super(parent, builder);
+ public SOAP12FaultValueImpl(OMElement parent, OMXMLParserWrapper builder, SOAPFactory factory) {
+ super(parent, builder, factory);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java Mon Mar 6 23:05:35 2006
@@ -22,6 +22,7 @@
import org.apache.ws.commons.om.OMXMLParserWrapper;
import org.apache.ws.commons.soap.SOAP12Constants;
import org.apache.ws.commons.soap.SOAPConstants;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPHeader;
import org.apache.ws.commons.soap.SOAPProcessingException;
@@ -32,8 +33,9 @@
*/
public SOAP12HeaderBlockImpl(String localName,
OMNamespace ns,
- SOAPHeader parent) throws SOAPProcessingException {
- super(localName, ns, parent);
+ SOAPHeader parent,
+ SOAPFactory factory) throws SOAPProcessingException {
+ super(localName, ns, parent, factory);
checkParent(parent);
}
@@ -48,8 +50,9 @@
public SOAP12HeaderBlockImpl(String localName,
OMNamespace ns,
SOAPHeader parent,
- OMXMLParserWrapper builder) {
- super(localName, ns, parent, builder);
+ OMXMLParserWrapper builder,
+ SOAPFactory factory) {
+ super(localName, ns, parent, builder, factory);
}
Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderImpl.java Mon Mar 6 23:05:35 2006
@@ -24,6 +24,7 @@
import org.apache.ws.commons.om.impl.llom.traverse.OMChildrenWithSpecificAttributeIterator;
import org.apache.ws.commons.soap.SOAP12Constants;
import org.apache.ws.commons.soap.SOAPEnvelope;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPHeaderBlock;
import org.apache.ws.commons.soap.SOAPProcessingException;
@@ -34,8 +35,9 @@
/**
* @param envelope
*/
- public SOAP12HeaderImpl(SOAPEnvelope envelope) throws SOAPProcessingException {
- super(envelope);
+ public SOAP12HeaderImpl(SOAPEnvelope envelope, SOAPFactory factory)
+ throws SOAPProcessingException {
+ super(envelope, factory);
}
/**
@@ -44,8 +46,9 @@
* @param envelope
* @param builder
*/
- public SOAP12HeaderImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder) {
- super(envelope, builder);
+ public SOAP12HeaderImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
+ SOAPFactory factory) {
+ super(envelope, builder, factory);
}
public SOAPHeaderBlock addHeaderBlock(String localName, OMNamespace ns) throws OMException {
@@ -61,7 +64,8 @@
SOAPHeaderBlock soapHeaderBlock = null;
try {
- soapHeaderBlock = new SOAP12HeaderBlockImpl(localName, ns, this);
+ soapHeaderBlock = new SOAP12HeaderBlockImpl(localName, ns, this,
+ (SOAPFactory)this.factory);
} catch (SOAPProcessingException e) {
throw new OMException(e);
}
Modified: webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/DocumentImplTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/DocumentImplTest.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/DocumentImplTest.java (original)
+++ webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/DocumentImplTest.java Mon Mar 6 23:05:35 2006
@@ -16,6 +16,8 @@
package org.apache.axis2.om.impl.dom;
import junit.framework.TestCase;
+
+import org.apache.axis2.om.impl.dom.factory.OMDOMFactory;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
@@ -33,7 +35,8 @@
public void testCreateElement() {
String tagName = "LocalName";
String namespace = "http://ws.apache.org/axis2/ns";
- DocumentImpl doc = new DocumentImpl();
+ OMDOMFactory fac = new OMDOMFactory();
+ DocumentImpl doc = new DocumentImpl(fac);
Element elem = doc.createElement(tagName);
assertEquals("Local name misnatch",tagName, elem.getNodeName());
@@ -50,7 +53,8 @@
String attrNs = "http://ws.apache.org/axis2/ns";
String attrNsPrefix = "axis2";
- DocumentImpl doc = new DocumentImpl();
+ OMDOMFactory fac = new OMDOMFactory();
+ DocumentImpl doc = new DocumentImpl(fac);
Attr attr = doc.createAttribute(attrName);
assertEquals("Attr name mismatch",attrName,attr.getName());
@@ -70,7 +74,8 @@
public void testCreateText() {
String textValue = "temp text value";
- DocumentImpl doc = new DocumentImpl();
+ OMDOMFactory fac = new OMDOMFactory();
+ DocumentImpl doc = new DocumentImpl(fac);
Text txt = doc.createTextNode(textValue);
assertEquals("Text value mismatch", textValue, txt.getData());
Modified: webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/TextImplTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/TextImplTest.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/TextImplTest.java (original)
+++ webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/TextImplTest.java Mon Mar 6 23:05:35 2006
@@ -64,7 +64,8 @@
public void testSplitText() {
String textValue = "temp text value";
- DocumentImpl doc = new DocumentImpl();
+ OMDOMFactory fac = new OMDOMFactory();
+ DocumentImpl doc = new DocumentImpl(fac);
Text txt = doc.createTextNode(textValue);
txt.splitText(3);
Modified: webservices/axis2/trunk/java/modules/integration/src/test/interop/util/BodyElements.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/src/test/interop/util/BodyElements.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/src/test/interop/util/BodyElements.java (original)
+++ webservices/axis2/trunk/java/modules/integration/src/test/interop/util/BodyElements.java Mon Mar 6 23:05:35 2006
@@ -81,7 +81,7 @@
public static OMText getOriginalText(boolean optimized) {
File file = new File("modules/integration/itest-resources/mtom/mtom.bin");
DataHandler handler = new DataHandler(new FileDataSource(file));//
- return new OMTextImpl(handler, optimized);
+ return new OMTextImpl(handler, optimized, OMAbstractFactory.getOMFactory());
}
}
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java Mon Mar 6 23:05:35 2006
@@ -81,7 +81,7 @@
expectedImage);
expectedDH = new DataHandler(dataSource);
OMElement subData = fac.createOMElement("subData", omNs);
- OMText textData = new OMTextImpl(expectedDH);
+ OMText textData = new OMTextImpl(expectedDH, fac);
subData.addChild(textData);
data.addChild(subData);
rpcWrapEle.addChild(data);
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMLoadTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMLoadTest.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMLoadTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMLoadTest.java Mon Mar 6 23:05:35 2006
@@ -87,7 +87,7 @@
OMElement subData = fac.createOMElement("subData", omNs);
DataHandler dataHandler = new DataHandler("Thilina", "text/plain");
//new ByteArrayDataSource(expectedByteArray));
- textData = new OMTextImpl(dataHandler, true);
+ textData = new OMTextImpl(dataHandler, true, fac);
subData.addChild(textData);
data.addChild(subData);
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java Mon Mar 6 23:05:35 2006
@@ -94,7 +94,7 @@
ImageDataSource dataSource = new ImageDataSource("test.jpg",
expectedImage);
expectedDH = new DataHandler(dataSource);
- expectedTextData = new OMTextImpl(expectedDH, true);
+ expectedTextData = new OMTextImpl(expectedDH, true, fac);
data.addChild(expectedTextData);
rpcWrapEle.addChild(data);
return rpcWrapEle;
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMToBase64Test.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMToBase64Test.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMToBase64Test.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMToBase64Test.java Mon Mar 6 23:05:35 2006
@@ -92,7 +92,7 @@
byte[] byteArray = new byte[]{13, 56, 65, 32, 12, 12, 7, -3, -2, -1,
98};
DataHandler dataHandler = new DataHandler(new ByteArrayDataSource(byteArray));
- expectedTextData = new OMTextImpl(dataHandler, true);
+ expectedTextData = new OMTextImpl(dataHandler, true, fac);
data.addChild(expectedTextData);
rpcWrapEle.addChild(data);
return rpcWrapEle;
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/swa/EchoSwA.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/swa/EchoSwA.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/swa/EchoSwA.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/swa/EchoSwA.java Mon Mar 6 23:05:35 2006
@@ -52,7 +52,7 @@
contentID = contentID.substring(4);
}
DataHandler dataHandler = attachment.getDataHandler(contentID);
- OMText textNode = new OMTextImpl(dataHandler);
+ OMText textNode = new OMTextImpl(dataHandler, omEle.getOMFactory());
omEle.build();
child.detach();
omEle.addChild(textNode);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/AttachmentPartImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/AttachmentPartImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/AttachmentPartImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/AttachmentPartImpl.java Mon Mar 6 23:05:35 2006
@@ -369,6 +369,6 @@
}
public TextImpl getText(DocumentImpl doc) {
- return new TextImpl(doc, omText.getText());
+ return new TextImpl(doc, omText.getText(), doc.getOMFactory());
}
}
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/NodeImplEx.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/NodeImplEx.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/NodeImplEx.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/NodeImplEx.java Mon Mar 6 23:05:35 2006
@@ -15,6 +15,7 @@
*/
package org.apache.axis2.saaj;
+import org.apache.axis2.om.impl.dom.DocumentImpl;
import org.apache.axis2.om.impl.dom.NodeImpl;
import org.apache.axis2.om.impl.dom.ElementImpl;
import org.apache.axis2.soap.impl.dom.SOAPBodyImpl;
@@ -22,6 +23,7 @@
import org.apache.ws.commons.om.OMContainer;
import org.apache.ws.commons.om.OMElement;
import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
import org.apache.ws.commons.om.OMNode;
import org.w3c.dom.Attr;
import org.w3c.dom.DOMException;
@@ -40,6 +42,14 @@
* getting and setting the parent of a node, and for removing a node.
*/
public abstract class NodeImplEx extends NodeImpl implements Node {
+
+ /**
+ * @param ownerDocument
+ * @param factory
+ */
+ protected NodeImplEx(OMFactory factory) {
+ super(factory);
+ }
protected SOAPElement parentElement;
static final String SAAJ_NODE = "saaj.node";
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java Mon Mar 6 23:05:35 2006
@@ -21,6 +21,7 @@
import org.apache.axis2.om.impl.dom.NamespaceImpl;
import org.apache.axis2.soap.impl.dom.soap11.SOAP11FaultImpl;
import org.apache.ws.commons.om.OMNode;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -147,7 +148,7 @@
if (isBodyElementAdded) {
throw new SOAPException("A SOAPBodyElement has been already added to this SOAPBody");
}
- SOAP11FaultImpl fault = new SOAP11FaultImpl(omSOAPBody);
+ SOAP11FaultImpl fault = new SOAP11FaultImpl(omSOAPBody, (SOAPFactory)this.element.getOMFactory());
SOAPFaultImpl saajSOAPFault = new SOAPFaultImpl(fault);
((NodeImpl) omSOAPBody.getFault()).setUserData(SAAJ_NODE, saajSOAPFault, null);
return saajSOAPFault;
@@ -210,7 +211,8 @@
* @throws SOAPException if there is a SOAP error
*/
public SOAPFault addFault(Name faultCode, String faultString, Locale locale) throws SOAPException {
- SOAP11FaultImpl fault = new SOAP11FaultImpl(omSOAPBody, new Exception(faultString));
+ SOAP11FaultImpl fault = new SOAP11FaultImpl(omSOAPBody, new Exception(
+ faultString), (SOAPFactory) this.element.getOMFactory());
SOAPFaultImpl faultImpl = new SOAPFaultImpl(fault);
faultImpl.setFaultCode(faultCode);
if (locale != null) {
@@ -287,13 +289,16 @@
localname = domEle.getTagName().substring(indexOfColon + 1);
ns = new NamespaceImpl(domEle.getNamespaceURI(),
- domEle.getTagName().substring(0, indexOfColon));
+ domEle.getTagName().substring(0, indexOfColon),
+ this.element.getOMFactory());
} else {
localname = domEle.getLocalName();
- ns = new NamespaceImpl(domEle.getNamespaceURI(), domEle.getPrefix());
+ ns = new NamespaceImpl(domEle.getNamespaceURI(), domEle.getPrefix(),
+ this.element.getOMFactory());
}
ElementImpl eleImpl =
- new ElementImpl((DocumentImpl) this.getOwnerDocument(), localname, ns);
+ new ElementImpl((DocumentImpl) this.getOwnerDocument(),
+ localname, ns, this.element.getOMFactory());
SOAPElementImpl saajEle = new SOAPElementImpl(eleImpl);
@@ -352,7 +357,8 @@
// silently replace node, as per saaj 1.2 spec
if (domNode instanceof ElementImpl) {
if (omSOAPBody.hasFault()) {
- SOAP11FaultImpl fault = new SOAP11FaultImpl(omSOAPBody);
+ SOAP11FaultImpl fault = new SOAP11FaultImpl(omSOAPBody,
+ (SOAPFactory) this.element.getOMFactory());
SOAPFaultImpl saajSOAPFault = new SOAPFaultImpl(fault);
((NodeImpl) omSOAPBody.getFault()).setUserData(SAAJ_NODE, saajSOAPFault, null);
childElements.add(saajSOAPFault);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java Mon Mar 6 23:05:35 2006
@@ -325,7 +325,8 @@
if (contentID != null) {//This is an omEnvelope referencing an attachment
child.build();
AttachmentPart ap = ((AttachmentPart) attachments.get(contentID.trim()));
- OMText text = new OMTextImpl(ap.getDataHandler(), true);
+ OMText text = new OMTextImpl(ap.getDataHandler(), true,
+ omEnvelope.getOMFactory());
child.removeAttribute(hrefAttr);
child.addChild(text);
} else {
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java Mon Mar 6 23:05:35 2006
@@ -52,6 +52,7 @@
protected ElementImpl element;
public SOAPElementImpl(ElementImpl element) {
+ super(element.getOMFactory());
this.element = element;
}
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java Mon Mar 6 23:05:35 2006
@@ -21,6 +21,7 @@
import org.apache.axis2.om.impl.dom.TextImpl;
import org.apache.axis2.soap.impl.dom.soap11.SOAP11BodyImpl;
import org.apache.axis2.soap.impl.dom.soap11.SOAP11HeaderImpl;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -154,7 +155,8 @@
public SOAPHeader addHeader() throws SOAPException {
org.apache.ws.commons.soap.SOAPHeader header = omSOAPEnvelope.getHeader();
if (header == null) {
- header = new SOAP11HeaderImpl(omSOAPEnvelope);
+ header = new SOAP11HeaderImpl(omSOAPEnvelope,
+ (SOAPFactory) this.element.getOMFactory());
SOAPHeaderImpl saajSOAPHeader = new SOAPHeaderImpl(header);
saajSOAPHeader.setParentElement(this);
((NodeImpl) omSOAPEnvelope.getHeader()).setUserData(SAAJ_NODE, saajSOAPHeader, null);
@@ -183,7 +185,7 @@
public SOAPBody addBody() throws SOAPException {
org.apache.ws.commons.soap.SOAPBody body = omSOAPEnvelope.getBody();
if (body == null) {
- body = new SOAP11BodyImpl(omSOAPEnvelope);
+ body = new SOAP11BodyImpl(omSOAPEnvelope, (SOAPFactory)this.element.getOMFactory());
SOAPBodyImpl saajSOAPBody = new SOAPBodyImpl(body);
saajSOAPBody.setParentElement(this);
((NodeImpl) omSOAPEnvelope.getBody()).setUserData(SAAJ_NODE, saajSOAPBody, null);
@@ -203,7 +205,7 @@
} else {
// Else this is a header
- TextImpl doomText = new TextImpl(text);
+ TextImpl doomText = new TextImpl(text, this.element.getOMFactory());
doomText.setNextOMSibling((NodeImpl) firstChild);
doomText.setPreviousOMSibling(null);
element.setFirstChild(doomText);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java Mon Mar 6 23:05:35 2006
@@ -104,7 +104,7 @@
* @return a <code>Detail</code> object
* @throws javax.xml.soap.SOAPException if there is a SOAP error
*/
- public Detail createDetail() throws SOAPException {
+ public Detail createDetail() throws SOAPException {
return new DetailImpl(DOOMAbstractFactory.getSOAP11Factory().createSOAPFaultDetail());
}
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java Mon Mar 6 23:05:35 2006
@@ -7,6 +7,7 @@
import org.apache.axis2.soap.impl.dom.soap11.SOAP11FaultReasonImpl;
import org.apache.axis2.soap.impl.dom.soap11.SOAP11FaultRoleImpl;
import org.apache.axis2.soap.impl.dom.soap11.SOAP11FaultTextImpl;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPFaultCode;
import org.apache.ws.commons.soap.SOAPFaultReason;
import org.apache.ws.commons.soap.SOAPFaultRole;
@@ -84,7 +85,8 @@
*/
public void setFaultActor(String faultActor) throws SOAPException {
if (this.fault.getRole() == null) {
- SOAP11FaultRoleImpl faultRoleImpl = new SOAP11FaultRoleImpl(this.fault);
+ SOAP11FaultRoleImpl faultRoleImpl = new SOAP11FaultRoleImpl(
+ this.fault, (SOAPFactory) this.element.getOMFactory());
faultRoleImpl.setRoleValue(faultActor);
this.fault.setRole(faultRoleImpl);
} else {
@@ -121,7 +123,8 @@
reason.getSOAPText().getFirstOMChild().detach();
reason.getSOAPText().setText(faultString);
} else {
- SOAPFaultText text = new SOAP11FaultTextImpl(reason);
+ SOAPFaultText text = new SOAP11FaultTextImpl(reason,
+ (SOAPFactory) this.element.getOMFactory());
text.setText(faultString);
reason.setSOAPText(text);
}
@@ -168,7 +171,8 @@
"Please remove the existing Detail element before " +
"calling addDetail()");
}
- SOAP11FaultDetailImpl omDetail = new SOAP11FaultDetailImpl(this.fault);
+ SOAP11FaultDetailImpl omDetail = new SOAP11FaultDetailImpl(this.fault,
+ (SOAPFactory) this.element.getOMFactory());
Detail saajDetail = new DetailImpl(omDetail);
((NodeImpl) fault.getDetail()).setUserData(SAAJ_NODE, saajDetail, null);
isDetailAdded = true;
@@ -192,14 +196,17 @@
reason.getSOAPText().setText(faultString);
reason.getSOAPText().setLang(locale.getLanguage());
} else {
- SOAPFaultText text = new SOAP11FaultTextImpl(reason);
+ SOAPFaultText text = new SOAP11FaultTextImpl(reason,
+ (SOAPFactory) this.element.getOMFactory());
text.setText(faultString);
text.setLang(locale.getLanguage());
reason.setSOAPText(text);
}
} else {
- SOAPFaultReason reason = new SOAP11FaultReasonImpl(this.fault);
- SOAPFaultText text = new SOAP11FaultTextImpl(reason);
+ SOAPFaultReason reason = new SOAP11FaultReasonImpl(this.fault,
+ (SOAPFactory) this.element.getOMFactory());
+ SOAPFaultText text = new SOAP11FaultTextImpl(reason,
+ (SOAPFactory) this.element.getOMFactory());
text.setText(faultString);
text.setLang(locale.getLanguage());
reason.setSOAPText(text);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java Mon Mar 6 23:05:35 2006
@@ -21,6 +21,7 @@
import org.apache.axis2.soap.impl.dom.soap11.SOAP11HeaderBlockImpl;
import org.apache.ws.commons.om.OMNamespace;
import org.apache.ws.commons.om.OMNode;
+import org.apache.ws.commons.soap.SOAPFactory;
import org.apache.ws.commons.soap.SOAPHeaderBlock;
import javax.xml.namespace.QName;
@@ -71,9 +72,9 @@
* @see javax.xml.soap.SOAPElement#addChildElement(java.lang.String, java.lang.String, java.lang.String)
*/
public SOAPElement addChildElement(String localName, String prefix, String uri) throws SOAPException {
- OMNamespace ns = new NamespaceImpl(uri, prefix);
+ OMNamespace ns = new NamespaceImpl(uri, prefix, this.element.getOMFactory());
SOAPHeaderBlock headerBlock =
- new SOAP11HeaderBlockImpl(localName, ns, omSOAPHeader);
+ new SOAP11HeaderBlockImpl(localName, ns, omSOAPHeader, (SOAPFactory)this.element.getOMFactory());
SOAPHeaderElementImpl soapHeaderElement = new SOAPHeaderElementImpl(headerBlock);
element.setUserData(SAAJ_NODE, this, null);
soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, null);
@@ -92,9 +93,13 @@
* @see javax.xml.soap.SOAPElement#addChildElement(javax.xml.soap.SOAPElement)
*/
public SOAPElement addChildElement(SOAPElement soapElement) throws SOAPException {
- OMNamespace ns = new NamespaceImpl(soapElement.getNamespaceURI(), soapElement.getPrefix());
+ OMNamespace ns = new NamespaceImpl(soapElement.getNamespaceURI(),
+ soapElement.getPrefix(),
+ (SOAPFactory)this.element.getOMFactory());
SOAPHeaderBlock headerBlock =
- new SOAP11HeaderBlockImpl(soapElement.getLocalName(), ns, omSOAPHeader);
+ new SOAP11HeaderBlockImpl(soapElement.getLocalName(), ns,
+ omSOAPHeader,
+ (SOAPFactory)this.element.getOMFactory());
SOAPHeaderElementImpl soapHeaderElement = new SOAPHeaderElementImpl(headerBlock);
element.setUserData(SAAJ_NODE, this, null);
soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, null);
@@ -116,9 +121,11 @@
* @throws SOAPException if a SOAP error occurs
*/
public SOAPHeaderElement addHeaderElement(Name name) throws SOAPException {
- OMNamespace ns = new NamespaceImpl(name.getURI(), name.getPrefix());
+ OMNamespace ns = new NamespaceImpl(name.getURI(), name.getPrefix(),
+ (SOAPFactory)this.element.getOMFactory());
SOAPHeaderBlock headerBlock =
- new SOAP11HeaderBlockImpl(name.getLocalName(), ns, omSOAPHeader);
+ new SOAP11HeaderBlockImpl(name.getLocalName(), ns, omSOAPHeader,
+ (SOAPFactory)this.element.getOMFactory());
SOAPHeaderElementImpl soapHeaderElement = new SOAPHeaderElementImpl(headerBlock);
element.setUserData(SAAJ_NODE, this, null);
soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, null);
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java Mon Mar 6 23:05:35 2006
@@ -15,6 +15,10 @@
*/
package org.apache.axis2.saaj;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.Text;
+import javax.xml.stream.XMLStreamException;
+
import org.apache.axis2.om.DOOMAbstractFactory;
import org.apache.axis2.om.impl.dom.TextImpl;
import org.apache.ws.commons.om.OMContainer;
@@ -22,12 +26,6 @@
import org.apache.ws.commons.om.impl.OMOutputImpl;
import org.w3c.dom.DOMException;
-import javax.xml.soap.Text;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.Node;
-import javax.xml.stream.XMLStreamException;
-import java.util.Iterator;
-
public class TextImplEx extends NodeImplEx implements Text {
//TODO: assign textNode
@@ -38,12 +36,14 @@
private org.w3c.dom.Node nextSibling;
public TextImplEx(String data, SOAPElement parent) {
+ super(((SOAPElementImpl)parent).getOMFactory());
textNode = (TextImpl) DOOMAbstractFactory.getOMFactory().createText(data);
this.parentElement = parent;
}
public TextImplEx(String data, SOAPElement parent,
org.w3c.dom.Node prevSibling, org.w3c.dom.Node nextSibling) {
+ super(((SOAPElementImpl)parent).getOMFactory());
textNode = (TextImpl) DOOMAbstractFactory.getOMFactory().createText(data);
this.parentElement = parent;
this.previousSibling = prevSibling;
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllReceiver.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllReceiver.java Mon Mar 6 23:05:35 2006
@@ -17,6 +17,7 @@
package org.apache.axis2.security;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.om.impl.dom.DocumentImpl;
@@ -63,12 +64,17 @@
boolean doDebug = log.isDebugEnabled();
- /**
- * Temporary solution until DOOM's DocumentBuilder module is done.
- * Use ThreadLocal to determine whether or not DOOM implementation is required.
- */
- // Set the DOM impl to DOOM
- DocumentBuilderFactoryImpl.setDOOMRequired(true);
+ String disableDoomValue = (String)msgContext.getProperty(WSSHandlerConstants.DISABLE_DOOM);
+ boolean disableDoom = disableDoomValue != null && Constants.VALUE_TRUE.equalsIgnoreCase(disableDoomValue);
+
+ if(!disableDoom) {
+ /**
+ * Temporary solution until DOOM's DocumentBuilder module is done.
+ * Use ThreadLocal to determine whether or not DOOM implementation is required.
+ */
+ // Set the DOM impl to DOOM
+ DocumentBuilderFactoryImpl.setDOOMRequired(true);
+ }
try {
//populate the properties
@@ -115,7 +121,7 @@
Document doc = null;
try {
- doc = Axis2Util.getDocumentFromSOAPEnvelope(msgContext.getEnvelope());
+ doc = Axis2Util.getDocumentFromSOAPEnvelope(msgContext.getEnvelope(), disableDoom);
} catch (WSSecurityException wssEx) {
throw new AxisFault("WSDoAllReceiver: Error in converting to Document", wssEx);
}
@@ -190,14 +196,9 @@
/**
* Set the new SOAPEnvelope
*/
-//
-// log.debug("Creating LLOM Structure");
-// OMElement docElem = (OMElement)doc.getDocumentElement();
-// StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(docElem.getXMLStreamReader(), SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
-// log.debug("Creating LLOM Structure - DONE");
-// msgContext.setEnvelope((stAXSOAPModelBuilder).getSOAPEnvelope());
+
- msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOOMDocument((DocumentImpl)doc));
+ msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOOMDocument(doc, disableDoom));
/*
* After setting the new current message, probably modified because
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllSender.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllSender.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllSender.java Mon Mar 6 23:05:35 2006
@@ -16,10 +16,12 @@
package org.apache.axis2.security;
+import java.util.Vector;
+
import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.om.impl.dom.DocumentImpl;
import org.apache.axis2.om.impl.dom.jaxp.DocumentBuilderFactoryImpl;
import org.apache.axis2.security.handler.WSDoAllHandler;
import org.apache.axis2.security.handler.WSSHandlerConstants;
@@ -28,7 +30,6 @@
import org.apache.axis2.security.util.MessageOptimizer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.ws.commons.soap.SOAPEnvelope;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSSecurityException;
import org.apache.ws.security.handler.RequestData;
@@ -37,8 +38,6 @@
import org.apache.wsdl.WSDLConstants;
import org.w3c.dom.Document;
-import java.util.Vector;
-
public class WSDoAllSender extends WSDoAllHandler {
private static final long serialVersionUID = 3016802164501419165L;
@@ -58,13 +57,17 @@
public void invoke(MessageContext msgContext) throws AxisFault {
- /**
- * Temporary solution until DOOM's DocumentBuilder module is done.
- * Use ThreadLocal to determine whether or not DOOM implementation is required.
- */
- // Set the DOM impl to DOOM
- DocumentBuilderFactoryImpl.setDOOMRequired(true);
+ String disableDoomValue = (String)msgContext.getProperty(WSSHandlerConstants.DISABLE_DOOM);
+ boolean disableDoom = disableDoomValue != null && Constants.VALUE_TRUE.equalsIgnoreCase(disableDoomValue);
+ if(!disableDoom) {
+ /**
+ * Temporary solution until DOOM's DocumentBuilder module is done.
+ * Use ThreadLocal to determine whether or not DOOM implementation is required.
+ */
+ // Set the DOM impl to DOOM
+ DocumentBuilderFactoryImpl.setDOOMRequired(true);
+ }
try {
boolean doDebug = log.isDebugEnabled();
@@ -166,7 +169,7 @@
if ((doc = (Document) ((MessageContext)reqData.getMsgContext())
.getProperty(WSHandlerConstants.SND_SECURITY)) == null) {
try {
- doc = Axis2Util.getDocumentFromSOAPEnvelope(msgContext.getEnvelope());
+ doc = Axis2Util.getDocumentFromSOAPEnvelope(msgContext.getEnvelope(), disableDoom);
} catch (WSSecurityException wssEx) {
throw new AxisFault("WSDoAllReceiver: Error in converting to Document", wssEx);
}
@@ -193,26 +196,11 @@
((MessageContext)reqData.getMsgContext()).setProperty(WSHandlerConstants.SND_SECURITY,
doc);
} else {
-
- String preserve = null;
- if ((preserve = (String) getOption(WSSHandlerConstants.PRESERVE_ORIGINAL_ENV)) == null) {
- preserve = (String) getProperty(msgContext, WSSHandlerConstants.PRESERVE_ORIGINAL_ENV);
- }
- if(preserve != null) {
- this.preserveOriginalEnvelope = "true".equalsIgnoreCase(preserve);
- }
-
- msgContext.setEnvelope((SOAPEnvelope)doc.getDocumentElement());
-
+ msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOOMDocument(doc, disableDoom));
((MessageContext)reqData.getMsgContext()).setProperty(WSHandlerConstants.SND_SECURITY, null);
}
-// log.debug("Creating LLOM Structure");
-// OMElement docElem = (OMElement)doc.getDocumentElement();
-// StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(docElem.getXMLStreamReader(), SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
-// log.debug("Creating LLOM Structure - DONE");
-// msgContext.setEnvelope(stAXSOAPModelBuilder.getSOAPEnvelope());
- msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOOMDocument((DocumentImpl)doc));
+
/**
* If the optimizeParts parts are set then optimize them
*/
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/handler/WSSHandlerConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/handler/WSSHandlerConstants.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/handler/WSSHandlerConstants.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/handler/WSSHandlerConstants.java Mon Mar 6 23:05:35 2006
@@ -77,4 +77,9 @@
public final static String SIGN_ALL_HEADERS = "signAllHeaders";
public final static String SIGN_BODY = "signBody";
public final static String ENCRYPT_BODY = "encryptBody";
+
+ /**
+ * Key to be used to set a flag in msg ctx to enable/disable using doom
+ */
+ public final static String DISABLE_DOOM = "useDoom";
}
Modified: webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/util/Axis2Util.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/util/Axis2Util.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/util/Axis2Util.java (original)
+++ webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/util/Axis2Util.java Mon Mar 6 23:05:35 2006
@@ -16,9 +16,18 @@
package org.apache.axis2.security.util;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
import org.apache.axis2.om.DOOMAbstractFactory;
-import org.apache.axis2.om.impl.dom.DocumentImpl;
import org.apache.axis2.security.handler.WSSHandlerConstants;
+import org.apache.axis2.soap.impl.dom.soap11.SOAP11Factory;
import org.apache.ws.commons.om.OMElement;
import org.apache.ws.commons.om.impl.llom.builder.StAXOMBuilder;
import org.apache.ws.commons.soap.SOAP11Constants;
@@ -31,12 +40,6 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
/**
* Utility class for the Axis2-WSS4J Module
*/
@@ -48,39 +51,70 @@
* @return Returns the DOM Document of the given SOAP Envelope.
* @throws Exception
*/
- public static Document getDocumentFromSOAPEnvelope(SOAPEnvelope env)
+ public static Document getDocumentFromSOAPEnvelope(SOAPEnvelope env, boolean disableDoom)
throws WSSecurityException {
try {
- env.build();
-
- //Check the namespace and find SOAP version and factory
- String nsURI = null;
- SOAPFactory factory;
- if(env.getNamespace().getName().equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
- nsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
- factory = DOOMAbstractFactory.getSOAP11Factory();
- } else {
- nsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
- factory = DOOMAbstractFactory.getSOAP12Factory();
- }
-
- StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(env.getXMLStreamReader(),factory, nsURI);
- SOAPEnvelope envelope = (stAXSOAPModelBuilder).getSOAPEnvelope();
- envelope.build();
-
- Element envElem = (Element)envelope;
- return envElem.getOwnerDocument();
-
+ if(!disableDoom) {
+ env.build();
+
+ //Check the namespace and find SOAP version and factory
+ String nsURI = null;
+ SOAPFactory factory;
+ if(env.getNamespace().getName().equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
+ nsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
+ factory = DOOMAbstractFactory.getSOAP11Factory();
+ } else {
+ nsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
+ factory = DOOMAbstractFactory.getSOAP12Factory();
+ }
+
+ StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(env.getXMLStreamReader(),factory, nsURI);
+ SOAPEnvelope envelope = (stAXSOAPModelBuilder).getSOAPEnvelope();
+ envelope.build();
+
+ Element envElem = (Element)envelope;
+ return envElem.getOwnerDocument();
+ } else {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ env.build();
+ env.serialize(baos);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ return factory.newDocumentBuilder().parse(bais);
+ }
} catch (Exception e) {
throw new WSSecurityException(
"Error in converting SOAP Envelope to Document", e);
}
}
- public static SOAPEnvelope getSOAPEnvelopeFromDOOMDocument(DocumentImpl doc) {
- OMElement docElem = (OMElement)doc.getDocumentElement();
- StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(docElem.getXMLStreamReader(), null);
- return stAXSOAPModelBuilder.getSOAPEnvelope();
+ public static SOAPEnvelope getSOAPEnvelopeFromDOOMDocument(Document doc, boolean disableDoom) {
+
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ XMLUtils.outputDOM(doc, os, true);
+
+ ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray());
+
+// OMElement docElem = (OMElement)doc.getDocumentElement();
+ XMLStreamReader reader;
+ try {
+ reader = XMLInputFactory.newInstance().createXMLStreamReader(bais);
+ StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(reader, null);
+ SOAPEnvelope envelope = stAXSOAPModelBuilder.getSOAPEnvelope();
+ envelope.build();
+ return envelope;
+ } catch (XMLStreamException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ throw new UnsupportedOperationException("WIP");
+ } catch (FactoryConfigurationError e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ throw new UnsupportedOperationException("WIP");
+ }
+
+
}