Skip to content

Commit d901f11

Browse files
committed
SWS-244 in 1.0 branch
1 parent ad9dcc9 commit d901f11

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

core/src/main/java/org/springframework/ws/soap/saaj/SaajSoap11Header.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.ArrayList;
2020
import java.util.Iterator;
2121
import java.util.List;
22+
import javax.xml.soap.Node;
2223
import javax.xml.soap.SOAPConstants;
2324
import javax.xml.soap.SOAPHeader;
2425
import javax.xml.soap.SOAPHeaderElement;
@@ -43,10 +44,13 @@ public Iterator examineHeaderElementsToProcess(String[] actors) {
4344
List result = new ArrayList();
4445
Iterator iterator = getImplementation().examineAllHeaderElements(getSaajHeader());
4546
while (iterator.hasNext()) {
46-
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) iterator.next();
47-
String headerActor = saajHeaderElement.getActor();
48-
if (shouldProcess(headerActor, actors)) {
49-
result.add(saajHeaderElement);
47+
Node node = (Node) iterator.next();
48+
if (node instanceof SOAPHeaderElement) {
49+
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) node;
50+
String headerActor = saajHeaderElement.getActor();
51+
if (shouldProcess(headerActor, actors)) {
52+
result.add(saajHeaderElement);
53+
}
5054
}
5155
}
5256
return new SaajSoapHeaderElementIterator(result.iterator());

core/src/main/java/org/springframework/ws/soap/saaj/SaajSoap12Header.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Iterator;
2121
import java.util.List;
2222
import javax.xml.namespace.QName;
23+
import javax.xml.soap.Node;
2324
import javax.xml.soap.SOAPConstants;
2425
import javax.xml.soap.SOAPException;
2526
import javax.xml.soap.SOAPHeader;
@@ -70,10 +71,13 @@ public Iterator examineHeaderElementsToProcess(String[] roles, boolean isUltimat
7071
List result = new ArrayList();
7172
Iterator iterator = getImplementation().examineAllHeaderElements(getSaajHeader());
7273
while (iterator.hasNext()) {
73-
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) iterator.next();
74-
String headerRole = saajHeaderElement.getRole();
75-
if (shouldProcess(headerRole, roles, isUltimateDestination)) {
76-
result.add(saajHeaderElement);
74+
Node node = (Node) iterator.next();
75+
if (node instanceof SOAPHeaderElement) {
76+
SOAPHeaderElement saajHeaderElement = (SOAPHeaderElement) node;
77+
String headerRole = saajHeaderElement.getRole();
78+
if (shouldProcess(headerRole, roles, isUltimateDestination)) {
79+
result.add(saajHeaderElement);
80+
}
7781
}
7882
}
7983
return new SaajSoapHeaderElementIterator(result.iterator());

0 commit comments

Comments
 (0)