dims 2002/11/19 19:28:07
Modified: java/src/org/apache/axis/message SOAPHeaderElement.java
Log:
Fix for Bug 14341 - mustunderstand values patch for soap 1.2
from [EMAIL PROTECTED] (Andras Avar)
Revision Changes Path
1.15 +21 -6 xml-axis/java/src/org/apache/axis/message/SOAPHeaderElement.java
Index: SOAPHeaderElement.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHeaderElement.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- SOAPHeaderElement.java 15 Oct 2002 21:15:42 -0000 1.14
+++ SOAPHeaderElement.java 20 Nov 2002 03:28:07 -0000 1.15
@@ -67,7 +67,7 @@
import javax.xml.soap.Name;
import javax.xml.namespace.QName;
-/**
+/**
* A simple header element abstraction. Extends MessageElement with
* header-specific stuff like mustUnderstand, actor, and a 'processed' flag.
*
@@ -104,9 +104,16 @@
// TLS (SOAPConstants.getCurrentVersion() ?)
SOAPConstants soapConstants = SOAPConstants.SOAP11_CONSTANTS;
+ if
(getNamespaceURI().equals(SOAPConstants.SOAP12_CONSTANTS.getEnvelopeURI()))
+ soapConstants = SOAPConstants.SOAP12_CONSTANTS;
+
String val = elem.getAttributeNS(soapConstants.getEnvelopeURI(),
Constants.ATTR_MUST_UNDERSTAND);
- mustUnderstand = ((val != null) && val.equals("1")) ? true : false;
+
+ if (soapConstants == SOAPConstants.SOAP12_CONSTANTS)
+ mustUnderstand = ((val != null) && val.equals("true")) ? true : false;
+ else
+ mustUnderstand = ((val != null) && val.equals("1")) ? true : false;
QName roleQName = soapConstants.getRoleAttributeQName();
actor = elem.getAttributeNS(roleQName.getNamespaceURI(),
@@ -118,9 +125,9 @@
public void setParentElement(SOAPElement parent) throws SOAPException {
if(parent == null)
- throw new
IllegalArgumentException(Messages.getMessage("nullParent00"));
+ throw new IllegalArgumentException(Messages.getMessage("nullParent00"));
if(!(parent instanceof SOAPHeader))
- throw new
IllegalArgumentException(Messages.getMessage("illegalArgumentException00"));
+ throw new
IllegalArgumentException(Messages.getMessage("illegalArgumentException00"));
try {
super.setParentElement((SOAPHeader)parent);
} catch (Throwable t) {
@@ -144,7 +151,11 @@
// Check for mustUnderstand
String val = attributes.getValue(soapConstants.getEnvelopeURI(),
Constants.ATTR_MUST_UNDERSTAND);
- mustUnderstand = ((val != null) && val.equals("1")) ? true : false;
+
+ if (soapConstants == SOAPConstants.SOAP12_CONSTANTS)
+ mustUnderstand = ((val != null) && val.equals("true")) ? true : false;
+ else
+ mustUnderstand = ((val != null) && val.equals("1")) ? true : false;
QName roleQName = soapConstants.getRoleAttributeQName();
actor = attributes.getValue(roleQName.getNamespaceURI(),
@@ -187,7 +198,11 @@
setAttribute(roleQName.getNamespaceURI(),
roleQName.getLocalPart(), actor);
- String val = mustUnderstand ? "1" : "0";
+ String val;
+ if (context.getMessageContext().getSOAPConstants() ==
SOAPConstants.SOAP12_CONSTANTS)
+ val = mustUnderstand ? "true" : "false";
+ else
+ val = mustUnderstand ? "1" : "0";
setAttribute(soapVer.getEnvelopeURI(),
Constants.ATTR_MUST_UNDERSTAND,