WS-Security problem with fire-and-forget SOAP calls
---------------------------------------------------

                 Key: SYNAPSE-143
                 URL: https://issues.apache.org/jira/browse/SYNAPSE-143
             Project: Synapse
          Issue Type: Bug
          Components: Endpoints
    Affects Versions: 1.0
         Environment: JDK6 on RHEL 3
            Reporter: Paul Anderson


For a fire-and-forget SOAP call (i.e. with no return message defined in the 
WSDL for the operation):

If I set enableSec on the endpoint, specifying a policy that uses UsernameToken 
and/or signing for WS-Security, then the outgoing message is fine on http. It 
is accepted and validated for security by the target service (by Spring Web 
Services, in my case).

The problem is that Synapse gives an axiom error processing the http '202 
accepted' response, presumably because there's no SOAP Security element, and I 
can't seem to add an empty one into the out flow until AFTER the WS-Security 
machinery has already operated (and choked) on the response. Stack trace below.

If I don't use WS-Security for the endpoint, there's no problem. I will check 
to make sure the same thing doesn't happen for invocations that return a SOAP 
response.

Exception in thread "I/O reactor worker thread 1" org.w3c.dom.DOMException: 
HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not 
permitted.
        at 
org.apache.axiom.om.impl.dom.ParentNode.insertBefore(ParentNode.java:195)
        at org.apache.axiom.om.impl.dom.NodeImpl.appendChild(NodeImpl.java:235)
        at 
org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl.<init>(SOAPEnvelopeImpl.java:65)
        at 
org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory.getDefaultEnvelope(SOAP11Factory.java:234)
        at 
org.apache.axis2.transport.nhttp.ClientHandler.responseReceived(ClientHandler.java:313)
        at 
org.apache.axis2.transport.nhttp.LoggingNHttpClientHandler.responseReceived(LoggingNHttpClientHandler.java:96)
        at 
org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:94)
        at 
org.apache.axis2.transport.nhttp.PlainClientIOEventDispatch.inputReady(PlainClientIOEventDispatch.java:69)
        at 
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:68)
        at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:160)
        at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:145)
        at 
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:127)
        at 
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:153)
        at java.lang.Thread.run(Thread.java:619)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to