[ https://issues.apache.org/jira/browse/WSCOMMONS-544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12870429#action_12870429 ]
Andreas Veithen commented on WSCOMMONS-544: ------------------------------------------- The issue can be reproduced using the transport testkit. See the test case disabled in r947447: http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/mail/src/test/java/org/apache/axis2/transport/mail/MailTransportTest.java?rev=947447&r1=947446&r2=947447&view=diff > Mail transport: synchronous invocation style doesn't work correctly > ------------------------------------------------------------------- > > Key: WSCOMMONS-544 > URL: https://issues.apache.org/jira/browse/WSCOMMONS-544 > Project: WS-Commons > Issue Type: Bug > Components: Transport > 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.