You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by "Detelin Hadzhiev (JIRA)" <ji...@apache.org> on 2014/07/09 09:06:04 UTC

[jira] [Updated] (AXIOM-459) WS Security header is not being serialized when header element is not instance of "org.apache.axiom.soap.SOAPHeader"

     [ 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.&lt;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.&lt;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: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org