[
https://issues.apache.org/jira/browse/AXIOM-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Detelin Hadzhiev updated AXIOM-459:
-----------------------------------
Description:
Currently wss4j using DOM to produce WS security headers. When it is combined
with axiom through the axis2 it would use the DOM implementation of axiom. Then
wss4j inserts simplify DOM element and axiom-dom would not process it.
Here is the stack trace:
Caused by: org.apache.axiom.soap.SOAPProcessingException: SOAP Envelope can not
have children other than SOAP Header and Body
at
org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl.checkChild(SOAPEnvelopeImpl.java:109)
at
org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl.insertBefore(SOAPEnvelopeImpl.java:163)
at
org.apache.ws.security.util.WSSecurityUtil.prependChildElement(WSSecurityUtil.java:684)
at
org.apache.ws.security.util.WSSecurityUtil.findWsseSecurityHeaderBlock(WSSecurityUtil.java:729)
at
org.apache.ws.security.message.WSSecHeader.insertSecurityHeader(WSSecHeader.java:138)
at
org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:371)
at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61)
at
org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:81)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:427)
at
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:50)
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:120)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
was:Currently wss4j using DOM to produce WS security headers. When it is
combined with axiom through the axis2 it would use the DOM implementation of
axiom. Then wss4j inserts simplify DOM element and axiom-dom would not process
it.
> WS Security header is not being serialized when header element is not
> instance of "org.apache.axiom.soap.SOAPHeader"
> --------------------------------------------------------------------------------------------------------------------
>
> Key: AXIOM-459
> URL: https://issues.apache.org/jira/browse/AXIOM-459
> Project: Axiom
> Issue Type: Bug
> Components: DOOM
> Affects Versions: 1.2.13
> Reporter: Detelin Hadzhiev
>
> Currently wss4j using DOM to produce WS security headers. When it is combined
> with axiom through the axis2 it would use the DOM implementation of axiom.
> Then wss4j inserts simplify DOM element and axiom-dom would not process it.
> Here is the stack trace:
> Caused by: org.apache.axiom.soap.SOAPProcessingException: SOAP Envelope can
> not have children other than SOAP Header and Body
> at
> org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl.checkChild(SOAPEnvelopeImpl.java:109)
> at
> org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl.insertBefore(SOAPEnvelopeImpl.java:163)
> at
> org.apache.ws.security.util.WSSecurityUtil.prependChildElement(WSSecurityUtil.java:684)
> at
> org.apache.ws.security.util.WSSecurityUtil.findWsseSecurityHeaderBlock(WSSecurityUtil.java:729)
> at
> org.apache.ws.security.message.WSSecHeader.insertSecurityHeader(WSSecHeader.java:138)
> at
> org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:371)
> at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61)
> at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:81)
> at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
> at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:427)
> at
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:50)
> at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:120)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]