[ 
https://issues.apache.org/jira/browse/TRANSPORTS-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen moved WSCOMMONS-544 to TRANSPORTS-19:
-----------------------------------------------------

        Project: Axis2 Transports  (was: WS-Commons)
            Key: TRANSPORTS-19  (was: WSCOMMONS-544)
    Component/s: Mail
                     (was: Transport)

> Mail transport: synchronous invocation style doesn't work correctly
> -------------------------------------------------------------------
>
>                 Key: TRANSPORTS-19
>                 URL: https://issues.apache.org/jira/browse/TRANSPORTS-19
>             Project: Axis2 Transports
>          Issue Type: Bug
>          Components: Mail
>            Reporter: Andreas Veithen
>
> The change in r698486 introduced support for the synchronous invocation style 
> in the mail transport. This was implemented by using a callback pattern where 
> the transport sender waits until the transport listener receives the response 
> message and invokes the callback. This however doesn't work as expected. The 
> reason is that after receiving the message, the mail transport listener will 
> close the input stream for the message (and potentially release some other 
> resources, such as closing the mail folder). On the server side, this works 
> well because the listener invokes AxisEngine.receive, which only returns 
> after the service has processed the message. However, on the client side, it 
> will invoke the callback, which will not process the message, but only store 
> it. By the time the client attempts to process the response, the underlying 
> input stream is already closed. This leads to errors such as this one:
> java.lang.RuntimeException: [was class java.io.IOException] Stream closed
>         at 
> com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)
>         at 
> com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:706)
>         at 
> com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3655)
>         at 
> com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:809)
>         at 
> org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.getText(XMLStreamReaderWrapper.java:160)
>         at 
> org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.getText(XMLStreamReaderWrapper.java:160)
>         at 
> org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:289)
>         at 
> org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:252)
>         at 
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:267)

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