You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by gd...@apache.org on 2007/04/02 21:41:38 UTC
svn commit: r524902 - in /webservices/commons/trunk/modules/axiom/modules:
axiom-api/src/main/java/org/apache/axiom/attachments/
axiom-api/src/main/java/org/apache/axiom/om/impl/builder/
axiom-api/src/main/java/org/apache/axiom/om/impl/traverse/ axiom-...
Author: gdaniels
Date: Mon Apr 2 12:41:37 2007
New Revision: 524902
URL: http://svn.apache.org/viewvc?view=rev&rev=524902
Log:
* Fix https://issues.apache.org/jira/browse/WSCOMMONS-188
* Add tests
* Correct bad MTOM test data (using incorrect namespace which wasn't noticed because of case-insensitive comparison)
* Add an option for OMChildrenWithSpecificAttributeIterator (love those concise classnames) to do case-insensitive comparisons for attribute values, default to false.
* Implement relay attribute get/set for SOAP 1.2, and a test for same.
* Bits and pieces of code cleanup
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/XOPAwareStAXOMBuilder.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/traverse/OMChildrenWithSpecificAttributeIterator.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAP12Constants.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/MTOMStAXSOAPModelBuilder.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/test/org/apache/axiom/om/impl/dom/NamespaceTest.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPHeaderBlockTest.java
webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/ImageMTOMOut.bin
webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMBuilderTestIn.txt
webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/soap/soap12message.xml
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java Mon Apr 2 12:41:37 2007
@@ -381,7 +381,7 @@
public Set getContentIDSet() {
DataHandler dataHandler;
- while (!noStreams & true) {
+ while (!noStreams) {
dataHandler = this.getNextPartDataHandler();
if (dataHandler == null) {
break;
@@ -482,7 +482,7 @@
boundary, this);
int count = 0;
do {
- int len = 0;
+ int len;
int off = 0;
int rem = fileStorageThreshold;
while ((len = partStream.read(buffer, off, rem)) > 0) {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java Mon Apr 2 12:41:37 2007
@@ -106,9 +106,8 @@
* Init() *must* be called after creating the builder using this constructor.
*
* @param inStream - instream which contains the XML
- * @throws XMLStreamException
*/
- public StAXOMBuilder() throws XMLStreamException {
+ public StAXOMBuilder() {
super();
}
@@ -358,7 +357,7 @@
if (namespaceURI != null && namespaceURI.length() > 0) {
OMNamespace namespace = node.findNamespace(namespaceURI, prefix);
- if (namespace == null || namespace.getPrefix() != prefix) {
+ if (namespace == null || (!namespace.getPrefix().equals(prefix))) {
if (prefix == null || "".equals(prefix)) {
namespace = node.declareDefaultNamespace(namespaceURI);
} else {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/XOPAwareStAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/XOPAwareStAXOMBuilder.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/XOPAwareStAXOMBuilder.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/XOPAwareStAXOMBuilder.java Mon Apr 2 12:41:37 2007
@@ -106,9 +106,8 @@
String elementName = parser.getLocalName();
String namespaceURI = parser.getNamespaceURI();
- if (MTOMConstants.XOP_INCLUDE.equalsIgnoreCase(elementName)
- && MTOMConstants.XOP_NAMESPACE_URI
- .equalsIgnoreCase(namespaceURI)) {
+ if (MTOMConstants.XOP_INCLUDE.equals(elementName)
+ && MTOMConstants.XOP_NAMESPACE_URI.equals(namespaceURI)) {
OMText node;
String contentID = ElementHelper.getContentID(parser, getDocument()
.getCharsetEncoding());
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/traverse/OMChildrenWithSpecificAttributeIterator.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/traverse/OMChildrenWithSpecificAttributeIterator.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/traverse/OMChildrenWithSpecificAttributeIterator.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/traverse/OMChildrenWithSpecificAttributeIterator.java Mon Apr 2 12:41:37 2007
@@ -34,6 +34,8 @@
/** Field detach */
private boolean detach;
+ private boolean doCaseSensitiveValueChecks = true;
+
/**
* Constructor OMChildrenWithSpecificAttributeIterator.
*
@@ -52,6 +54,10 @@
this.detach = detach;
}
+ public void setCaseInsensitiveValueChecks(boolean val) {
+ doCaseSensitiveValueChecks = val;
+ }
+
/**
* Method hasNext.
*
@@ -74,8 +80,9 @@
OMAttribute attr =
((OMElement) currentChild).getAttribute(
attributeName);
- if ((attr != null)
- && attr.getAttributeValue().equalsIgnoreCase(attributeValue)) {
+ if ((attr != null) && (doCaseSensitiveValueChecks ?
+ attr.getAttributeValue().equals(attributeValue) :
+ attr.getAttributeValue().equalsIgnoreCase(attributeValue))) {
isMatchingNodeFound = true;
needToMoveForward = false;
} else {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAP12Constants.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAP12Constants.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAP12Constants.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/SOAP12Constants.java Mon Apr 2 12:41:37 2007
@@ -73,6 +73,7 @@
// QNames
static final QName QNAME_ROLE = new QName(SOAP_ENVELOPE_NAMESPACE_URI, SOAP_ROLE);
+ static final QName QNAME_RELAY = new QName(SOAP_ENVELOPE_NAMESPACE_URI, SOAP_RELAY);
static final QName QNAME_MU_FAULTCODE = new QName(SOAP_ENVELOPE_NAMESPACE_URI,
FAULT_CODE_MUST_UNDERSTAND);
static final QName QNAME_SENDER_FAULTCODE = new QName(SOAP_ENVELOPE_NAMESPACE_URI,
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/MTOMStAXSOAPModelBuilder.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/MTOMStAXSOAPModelBuilder.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/MTOMStAXSOAPModelBuilder.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/MTOMStAXSOAPModelBuilder.java Mon Apr 2 12:41:37 2007
@@ -27,8 +27,6 @@
import org.apache.axiom.om.impl.builder.XOPBuilder;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAPFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import javax.activation.DataHandler;
import javax.xml.stream.XMLStreamReader;
@@ -39,8 +37,6 @@
/** <code>Attachments</code> handles deferred parsing of incoming MIME Messages. */
Attachments attachments;
- private Log log = LogFactory.getLog(getClass());
-
int partIndex = 0;
public MTOMStAXSOAPModelBuilder(XMLStreamReader parser,
@@ -72,8 +68,7 @@
String namespaceURI = parser.getNamespaceURI();
// create an OMBlob if the element is an <xop:Include>
- if (XOP_INCLUDE.equalsIgnoreCase(elementName)
- && XOP_NAMESPACE_URI.equalsIgnoreCase(namespaceURI)) {
+ if (XOP_INCLUDE.equals(elementName) && XOP_NAMESPACE_URI.equals(namespaceURI)) {
elementLevel++;
OMText node;
String contentID = ElementHelper.getContentID(parser, getDocument()
@@ -83,8 +78,7 @@
throw new OMException(
"XOP:Include element is not supported here");
} else if (lastNode.isComplete() & lastNode.getParent() != null) {
- node = omfactory.createOMText(contentID, (OMElement) lastNode
- .getParent(), this);
+ node = omfactory.createOMText(contentID, lastNode.getParent(), this);
((OMNodeEx) lastNode).setNextOMSibling(node);
((OMNodeEx) node).setPreviousOMSibling(lastNode);
} else {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java Mon Apr 2 12:41:37 2007
@@ -808,8 +808,7 @@
if (prefix == null || "".equals(prefix)) {
Iterator namespaceListIterator = namespaces.values().iterator();
while (namespaceListIterator.hasNext()) {
- OMNamespace omNamespace = (OMNamespace) namespaceListIterator
- .next();
+ OMNamespace omNamespace = (OMNamespace) namespaceListIterator.next();
String nsURI = omNamespace.getNamespaceURI();
if (nsURI != null && nsURI.equals(uri)) {
return omNamespace;
@@ -818,7 +817,7 @@
} else {
OMNamespace namespace = (OMNamespace) namespaces.get(prefix);
- if (namespace != null && uri.equalsIgnoreCase(namespace.getNamespaceURI())) {
+ if (namespace != null && uri.equals(namespace.getNamespaceURI())) {
return namespace;
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java Mon Apr 2 12:41:37 2007
@@ -186,8 +186,7 @@
SOAPHeaderBlock soapHeaderBlock = (SOAPHeaderBlock) o;
String role = soapHeaderBlock.getRole();
boolean mustUnderstand = soapHeaderBlock.getMustUnderstand();
- if ((role != null) && role.equalsIgnoreCase(actor) &&
- mustUnderstand) {
+ if ((role != null) && role.equals(actor) && mustUnderstand) {
mustUnderstandHeadersWithGivenActor.add(soapHeaderBlock);
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/test/org/apache/axiom/om/impl/dom/NamespaceTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/test/org/apache/axiom/om/impl/dom/NamespaceTest.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/test/org/apache/axiom/om/impl/dom/NamespaceTest.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/test/org/apache/axiom/om/impl/dom/NamespaceTest.java Mon Apr 2 12:41:37 2007
@@ -1,6 +1,10 @@
package org.apache.axiom.om.impl.dom;
import junit.framework.TestCase;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
/*
* Copyright 2007 The Apache Software Foundation.
*
@@ -39,5 +43,16 @@
URI2 = URI2 + "testuri1"; // Make sure the strings don't intern to the same place
assertTrue(ns1.equals(URI2, ""));
assertTrue(ns1.equals(ns2));
+ }
+
+ public void testSearch() throws Exception {
+ String NSURI = "http://testns";
+ String NSURI_UPPER = "HTTP://TESTNS";
+
+ OMFactory fac = new OMDOMFactory();
+ OMNamespace ns = new NamespaceImpl(NSURI);
+ OMElement el = fac.createOMElement("foo", null);
+ el.declareNamespace(NSURI, "p");
+ assertNull(el.findNamespace(NSURI_UPPER, "p"));
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java Mon Apr 2 12:41:37 2007
@@ -424,7 +424,7 @@
}
} else {
OMNamespace namespace = (OMNamespace) namespaces.get(prefix);
- if (namespace != null && uri.equalsIgnoreCase(namespace.getNamespaceURI())) {
+ if (namespace != null && uri.equals(namespace.getNamespaceURI())) {
return namespace;
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java Mon Apr 2 12:41:37 2007
@@ -112,7 +112,7 @@
* <CODE>SOAPHeaderBlock</CODE> object is turned on; <CODE>false</CODE> otherwise
*/
public boolean getMustUnderstand() throws SOAPProcessingException {
- String mustUnderstand = "";
+ String mustUnderstand;
if ((mustUnderstand =
getAttribute(SOAPConstants.ATTR_MUSTUNDERSTAND,
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI))
@@ -138,12 +138,10 @@
}
- //TODO : implement
public void setRelay(boolean relay) {
throw new UnsupportedOperationException("Not supported for SOAP 1.1");
}
- //TODO : implement
public boolean getRelay() {
throw new UnsupportedOperationException("Not supported for SOAP 1.1");
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java Mon Apr 2 12:41:37 2007
@@ -19,16 +19,16 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.SOAPVersion;
import org.apache.axiom.soap.SOAP12Version;
+import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.impl.llom.SOAPHeaderBlockImpl;
-public class SOAP12HeaderBlockImpl extends SOAPHeaderBlockImpl {
+public class SOAP12HeaderBlockImpl extends SOAPHeaderBlockImpl implements SOAP12Constants {
public SOAP12HeaderBlockImpl(String localName, OMNamespace ns,
SOAPFactory factory) {
@@ -76,22 +76,18 @@
}
public void setRole(String roleURI) {
- setAttribute(SOAP12Constants.SOAP_ROLE,
- roleURI,
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+ setAttribute(SOAP_ROLE, roleURI, SOAP_ENVELOPE_NAMESPACE_URI);
}
public String getRole() {
- return getAttribute(SOAP12Constants.SOAP_ROLE,
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
-
+ return getAttributeValue(QNAME_ROLE);
}
public void setMustUnderstand(boolean mustUnderstand) {
setAttribute(SOAPConstants.ATTR_MUSTUNDERSTAND,
mustUnderstand ? SOAPConstants.ATTR_MUSTUNDERSTAND_TRUE :
SOAPConstants.ATTR_MUSTUNDERSTAND_FALSE,
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+ SOAP_ENVELOPE_NAMESPACE_URI);
}
@@ -103,7 +99,7 @@
SOAPConstants.ATTR_MUSTUNDERSTAND_1.equals(mustUnderstand)) {
setAttribute(SOAPConstants.ATTR_MUSTUNDERSTAND,
mustUnderstand,
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+ SOAP_ENVELOPE_NAMESPACE_URI);
} else {
throw new SOAPProcessingException(
"mustUndertand should be one of \"true\", " +
@@ -112,20 +108,14 @@
}
public boolean getMustUnderstand() throws SOAPProcessingException {
- String mustUnderstand = "";
- if ((mustUnderstand =
- getAttribute(SOAPConstants.ATTR_MUSTUNDERSTAND,
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI))
+ String mustUnderstand;
+ if ((mustUnderstand = getAttribute(ATTR_MUSTUNDERSTAND, SOAP_ENVELOPE_NAMESPACE_URI))
!= null) {
- if (SOAPConstants.ATTR_MUSTUNDERSTAND_TRUE.equalsIgnoreCase(
- mustUnderstand) ||
- SOAPConstants.ATTR_MUSTUNDERSTAND_1.equalsIgnoreCase(
- mustUnderstand)) {
+ if (SOAPConstants.ATTR_MUSTUNDERSTAND_TRUE.equalsIgnoreCase(mustUnderstand) ||
+ SOAPConstants.ATTR_MUSTUNDERSTAND_1.equalsIgnoreCase(mustUnderstand)) {
return true;
- } else if (SOAPConstants.ATTR_MUSTUNDERSTAND_FALSE.equalsIgnoreCase(
- mustUnderstand) ||
- SOAPConstants.ATTR_MUSTUNDERSTAND_0.equalsIgnoreCase(
- mustUnderstand)) {
+ } else if (SOAPConstants.ATTR_MUSTUNDERSTAND_FALSE.equalsIgnoreCase(mustUnderstand) ||
+ SOAPConstants.ATTR_MUSTUNDERSTAND_0.equalsIgnoreCase(mustUnderstand)) {
return false;
} else {
throw new SOAPProcessingException(
@@ -138,14 +128,17 @@
}
- //TODO : implement
public void setRelay(boolean relay) {
- throw new UnsupportedOperationException("Not supported for SOAP 1.1");
+ setAttribute(SOAP_RELAY, relay ? "true" : "false", SOAP_ENVELOPE_NAMESPACE_URI);
}
- //TODO : implement
public boolean getRelay() {
- throw new UnsupportedOperationException("Not supported for SOAP 1.1");
+ boolean ret = false;
+ String val = getAttributeValue(QNAME_RELAY);
+ if (val != null) {
+ ret = "true".equalsIgnoreCase(val);
+ }
+ return ret;
}
/**
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPHeaderBlockTest.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPHeaderBlockTest.java?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPHeaderBlockTest.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/soap/SOAPHeaderBlockTest.java Mon Apr 2 12:41:37 2007
@@ -16,6 +16,8 @@
package org.apache.axiom.soap;
+import org.apache.axiom.om.OMNamespace;
+
import java.util.Iterator;
public class SOAPHeaderBlockTest extends SOAPHeaderTestCase {
@@ -222,11 +224,24 @@
assertFalse(
"SOAP 1.2 HeaderBlock Test With Parser : - getMustUnderstand method returns incorrect value",
soap12HeaderBlock2WithParser.getMustUnderstand());
- try {
- soap12HeaderBlock3WithParser.getMustUnderstand();
- } catch (Exception e) {
- fail(
- "SOAP 1.2 HeaderBlock Test With Parser : - getMustUnderstand method should returns exception when mustunderstand value is incorrect");
- }
+ soap12HeaderBlock3WithParser.getMustUnderstand();
+ }
+
+ public void testRelayAttribute() throws Exception {
+ assertFalse(soap12HeaderBlock1WithParser.getRelay());
+ assertTrue(soap12HeaderBlock2WithParser.getRelay());
+ assertFalse(soap12HeaderBlock3WithParser.getRelay());
+
+ SOAPEnvelope env = soap12Factory.createSOAPEnvelope();
+ SOAPHeader header = soap12Factory.createSOAPHeader(env);
+ soap12Factory.createSOAPBody(env);
+ OMNamespace ns = soap12Factory.createOMNamespace("http://ns1", "ns1");
+ SOAPHeaderBlock relayHeader = header.addHeaderBlock("foo", ns);
+ relayHeader.setText("hey there");
+ relayHeader.setRelay(true);
+
+ String envString = env.toString();
+ assertTrue("No relay header after setRelay(true)",
+ envString.indexOf("relay=\"true\"") >= 0);
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/ImageMTOMOut.bin
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/ImageMTOMOut.bin?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
Binary files - no diff available.
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMBuilderTestIn.txt
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMBuilderTestIn.txt?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMBuilderTestIn.txt (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/mtom/MTOMBuilderTestIn.txt Mon Apr 2 12:41:37 2007
@@ -3,7 +3,7 @@
Content-Transfer-Encoding: 8bit
Content-ID: SOAPPart
-<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><m:data xmlns:m="http://www.example.org/stuff"><m:name m:contentType="text/plain"><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/Include" href="cid:-1609420109260943731"></xop:Include></m:name></m:data></soapenv:Body></soapenv:Envelope>
+<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><m:data xmlns:m="http://www.example.org/stuff"><m:name m:contentType="text/plain"><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:-1609420109260943731"></xop:Include></m:name></m:data></soapenv:Body></soapenv:Envelope>
------=_AxIs2_Def_boundary_=42214532
Content-Transfer-Encoding: binary
Content-ID: -1609420109260943731
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/soap/soap12message.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/soap/soap12message.xml?view=diff&rev=524902&r1=524901&r2=524902
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/soap/soap12message.xml (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/test-resources/soap/soap12message.xml Mon Apr 2 12:41:37 2007
@@ -2,13 +2,13 @@
<env:Header>
<test:echoOk xmlns:test="http://example.org/ts-tests"
env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
- env:mustUnderstand="true"
+ env:mustUnderstand="true" env:relay="false"
env:anyAttribute="any value">
foo
</test:echoOk>
<test1:echoOk1 xmlns:test1="http://example1.org/ts-tests"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
- env:mustUnderstand="false"
+ env:mustUnderstand="false" env:relay="true"
env:anyAttribute="any value">
foo
</test1:echoOk1>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org