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