[ 
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]

Reply via email to