You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by mc...@apache.org on 2007/02/20 17:58:35 UTC
svn commit: r509646 -
/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
Author: mckierna
Date: Tue Feb 20 08:58:33 2007
New Revision: 509646
URL: http://svn.apache.org/viewvc?view=rev&rev=509646
Log:
Ensure protection against null headers (support axiom change to avoid serialization of empty SOAP headers)
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java?view=diff&rev=509646&r1=509645&r2=509646
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/RMElements.java Tue Feb 20 08:58:33 2007
@@ -86,15 +86,20 @@
OMElement body = envelope.getBody();
// The sequence header
- OMElement element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.Sequence);
- if(element == null) {
- element = envelope.getHeader().getFirstChildWithName(Sandesha2Constants.SPEC_2005_02.QNames.Sequence);
- }
- if (element != null) {
- sequence = new Sequence(element.getNamespace().getNamespaceURI());
- sequence.fromOMElement(envelope.getHeader());
+ OMElement element = null;
+ if(header!=null)
+ {
+ element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.Sequence);
+ if(element == null) {
+ element = envelope.getHeader().getFirstChildWithName(Sandesha2Constants.SPEC_2005_02.QNames.Sequence);
+ }
+ if (element != null) {
+ sequence = new Sequence(element.getNamespace().getNamespaceURI());
+ sequence.fromOMElement(envelope.getHeader());
+ }
}
+
// The body messages
OMElement firstBodyElement = body.getFirstElement();
if(firstBodyElement != null) {
@@ -149,57 +154,59 @@
}
// The other headers
- Iterator headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2007_02.QNames.SequenceAck);
- while (headers.hasNext()) {
- OMElement sequenceAckElement = (OMElement) headers.next();
- SequenceAcknowledgement sequenceAcknowledgement = new SequenceAcknowledgement(Sandesha2Constants.SPEC_2007_02.NS_URI);
- sequenceAcknowledgement.fromOMElement(sequenceAckElement);
- sequenceAcknowledgements.add(sequenceAcknowledgement);
- }
- headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2005_02.QNames.SequenceAck);
- while (headers.hasNext()) {
- OMElement sequenceAckElement = (OMElement) headers.next();
- SequenceAcknowledgement sequenceAcknowledgement = new SequenceAcknowledgement(Sandesha2Constants.SPEC_2005_02.NS_URI);
- sequenceAcknowledgement.fromOMElement(sequenceAckElement);
- sequenceAcknowledgements.add(sequenceAcknowledgement);
- }
-
- headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2007_02.QNames.AckRequest);
- while (headers.hasNext()) {
- OMElement ackRequestElement = (OMElement) headers.next();
- AckRequested ackRequest = new AckRequested(Sandesha2Constants.SPEC_2007_02.NS_URI);
- ackRequest.fromOMElement(ackRequestElement);
- ackRequests.add(ackRequest);
- }
- headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2005_02.QNames.AckRequest);
- while (headers.hasNext()) {
- OMElement ackRequestElement = (OMElement) headers.next();
- AckRequested ackRequest = new AckRequested(Sandesha2Constants.SPEC_2005_02.NS_URI);
- ackRequest.fromOMElement(ackRequestElement);
- ackRequests.add(ackRequest);
- }
+ if(header!=null)
+ {
+ Iterator headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2007_02.QNames.SequenceAck);
+ while (headers.hasNext()) {
+ OMElement sequenceAckElement = (OMElement) headers.next();
+ SequenceAcknowledgement sequenceAcknowledgement = new SequenceAcknowledgement(Sandesha2Constants.SPEC_2007_02.NS_URI);
+ sequenceAcknowledgement.fromOMElement(sequenceAckElement);
+ sequenceAcknowledgements.add(sequenceAcknowledgement);
+ }
+ headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2005_02.QNames.SequenceAck);
+ while (headers.hasNext()) {
+ OMElement sequenceAckElement = (OMElement) headers.next();
+ SequenceAcknowledgement sequenceAcknowledgement = new SequenceAcknowledgement(Sandesha2Constants.SPEC_2005_02.NS_URI);
+ sequenceAcknowledgement.fromOMElement(sequenceAckElement);
+ sequenceAcknowledgements.add(sequenceAcknowledgement);
+ }
- element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.UsesSequenceSTR);
- if (element != null) {
- usesSequenceSTR = new UsesSequenceSTR(factory, Sandesha2Constants.SPEC_2007_02.NS_URI);
- usesSequenceSTR.fromOMElement(envelope.getHeader());
- }
-
- element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.MessagePending);
- if (element != null) {
- messagePending = new MessagePending(Sandesha2Constants.SPEC_2007_02.MC_NS_URI);
- messagePending.fromOMElement(element);
- }
-
- element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.SequenceFault);
- if(element == null) {
- element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2005_02.QNames.SequenceFault);
- }
- if (element !=null) {
- sequenceFault = new SequenceFault(element.getNamespace().getNamespaceURI());
- sequenceFault.fromOMElement(element);
+ headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2007_02.QNames.AckRequest);
+ while (headers.hasNext()) {
+ OMElement ackRequestElement = (OMElement) headers.next();
+ AckRequested ackRequest = new AckRequested(Sandesha2Constants.SPEC_2007_02.NS_URI);
+ ackRequest.fromOMElement(ackRequestElement);
+ ackRequests.add(ackRequest);
+ }
+ headers = header.getChildrenWithName(Sandesha2Constants.SPEC_2005_02.QNames.AckRequest);
+ while (headers.hasNext()) {
+ OMElement ackRequestElement = (OMElement) headers.next();
+ AckRequested ackRequest = new AckRequested(Sandesha2Constants.SPEC_2005_02.NS_URI);
+ ackRequest.fromOMElement(ackRequestElement);
+ ackRequests.add(ackRequest);
+ }
+
+ element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.UsesSequenceSTR);
+ if (element != null) {
+ usesSequenceSTR = new UsesSequenceSTR(factory, Sandesha2Constants.SPEC_2007_02.NS_URI);
+ usesSequenceSTR.fromOMElement(envelope.getHeader());
+ }
+
+ element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.MessagePending);
+ if (element != null) {
+ messagePending = new MessagePending(Sandesha2Constants.SPEC_2007_02.MC_NS_URI);
+ messagePending.fromOMElement(element);
+ }
+
+ element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.SequenceFault);
+ if(element == null) {
+ element = header.getFirstChildWithName(Sandesha2Constants.SPEC_2005_02.QNames.SequenceFault);
+ }
+ if (element !=null) {
+ sequenceFault = new SequenceFault(element.getNamespace().getNamespaceURI());
+ sequenceFault.fromOMElement(element);
+ }
}
-
}
public SOAPEnvelope toSOAPEnvelope(SOAPEnvelope envelope) throws AxisFault {
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org