This commit is contained in:
Arjen Poutsma
2007-12-06 12:59:37 +00:00
parent 84e13da493
commit 6d21d79e03
2 changed files with 16 additions and 8 deletions

View File

@@ -19,6 +19,7 @@ package org.springframework.ws.soap.saaj;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.soap.Node;
import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
@@ -43,10 +44,13 @@ class SaajSoap11Header extends SaajSoapHeader implements Soap11Header {
List result = new ArrayList();
Iterator iterator = getImplementation().examineAllHeaderElements(getSaajHeader());
while (iterator.hasNext()) {
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) iterator.next();
String headerActor = saajHeaderElement.getActor();
if (shouldProcess(headerActor, actors)) {
result.add(saajHeaderElement);
Node node = (Node) iterator.next();
if (node instanceof SOAPHeaderElement) {
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) node;
String headerActor = saajHeaderElement.getActor();
if (shouldProcess(headerActor, actors)) {
result.add(saajHeaderElement);
}
}
}
return new SaajSoapHeaderElementIterator(result.iterator());

View File

@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.soap.Node;
import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
@@ -70,10 +71,13 @@ class SaajSoap12Header extends SaajSoapHeader implements Soap12Header {
List result = new ArrayList();
Iterator iterator = getImplementation().examineAllHeaderElements(getSaajHeader());
while (iterator.hasNext()) {
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) iterator.next();
String headerRole = saajHeaderElement.getRole();
if (shouldProcess(headerRole, roles, isUltimateDestination)) {
result.add(saajHeaderElement);
Node node = (Node) iterator.next();
if (node instanceof SOAPHeaderElement) {
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) node;
String headerRole = saajHeaderElement.getRole();
if (shouldProcess(headerRole, roles, isUltimateDestination)) {
result.add(saajHeaderElement);
}
}
}
return new SaajSoapHeaderElementIterator(result.iterator());