From a3517d4da10e2b2416d094721bcf1f37e3873bb2 Mon Sep 17 00:00:00 2001 From: Andreas Veithen Date: Tue, 23 May 2017 08:28:25 +0100 Subject: [PATCH] SWS-1006 - Make AxiomSoapHeader compatible with Axiom 1.3 AxiomSoapHeaderElementIterator expects an Iterator as input. However, it is also used together with getChildrenWithName, which (since it's defined by OMContainer), will actually return an Iterator in Axiom 1.3. Therefore it should use Iterator. --- .../org/springframework/ws/soap/axiom/AxiomSoapHeader.java | 6 +++--- .../ws/soap/axiom/AxiomSoapHeaderElement.java | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeader.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeader.java index 8eadc40b..2f62f3b0 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeader.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeader.java @@ -114,9 +114,9 @@ abstract class AxiomSoapHeader extends AxiomSoapElement implements SoapHeader { protected class AxiomSoapHeaderElementIterator implements Iterator { - private final Iterator axiomIterator; + private final Iterator axiomIterator; - protected AxiomSoapHeaderElementIterator(Iterator axiomIterator) { + protected AxiomSoapHeaderElementIterator(Iterator axiomIterator) { this.axiomIterator = axiomIterator; } @@ -128,7 +128,7 @@ abstract class AxiomSoapHeader extends AxiomSoapElement implements SoapHeader { @Override public SoapHeaderElement next() { try { - SOAPHeaderBlock axiomHeaderBlock = axiomIterator.next(); + OMElement axiomHeaderBlock = axiomIterator.next(); return new AxiomSoapHeaderElement(axiomHeaderBlock, getAxiomFactory()); } catch (OMException ex) { diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeaderElement.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeaderElement.java index 1ff1e202..6bb983e8 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeaderElement.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapHeaderElement.java @@ -18,6 +18,7 @@ package org.springframework.ws.soap.axiom; import javax.xml.transform.Result; +import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMException; import org.apache.axiom.soap.SOAPFactory; import org.apache.axiom.soap.SOAPHeaderBlock; @@ -27,7 +28,7 @@ import org.springframework.ws.soap.SoapHeaderElement; /** Axiom-specific version of {@code org.springframework.ws.soap.SoapHeaderHeaderElement}. */ class AxiomSoapHeaderElement extends AxiomSoapElement implements SoapHeaderElement { - public AxiomSoapHeaderElement(SOAPHeaderBlock axiomHeaderBlock, SOAPFactory axiomFactory) { + public AxiomSoapHeaderElement(OMElement axiomHeaderBlock, SOAPFactory axiomFactory) { super(axiomHeaderBlock, axiomFactory); }