You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by "Andrew Gatford (JIRA)" <ji...@apache.org> on 2006/06/23 16:23:30 UTC

[jira] Updated: (SANDESHA2-7) SandeshaReportsTest.testSequenceReports fails as the terminate sequence message is not received

     [ http://issues.apache.org/jira/browse/SANDESHA2-7?page=all ]

Andrew Gatford updated SANDESHA2-7:
-----------------------------------

    Attachment: SandeshaReportsTestFailure.patch

Patch should solve this problem.  The Sandesha2TransportOutDesc now takes the getName as a parameter from the original transport.  This means that the check in the AxisEngine send method passes and the message is sent to the Sandesha2TransportOutDesc.invoke method.

> SandeshaReportsTest.testSequenceReports fails as the terminate sequence message is not received
> -----------------------------------------------------------------------------------------------
>
>          Key: SANDESHA2-7
>          URL: http://issues.apache.org/jira/browse/SANDESHA2-7
>      Project: Apache Sandesha2
>         Type: Bug

>     Reporter: Andrew Gatford
>  Attachments: SandeshaReportsTestFailure.patch
>
> SandeshaReportsTest.testSequenceReports (and others) fail as the terminate sequence message is not received.
> The problem appears to have been caused by a change in the AxisEngine.send method
>         if (!msgContext.isPaused()) {
>             // write the Message to the Wire
>             TransportOutDescription transportOut = msgContext.getTransportOut();
>             TransportSender sender = transportOut.getSender();
>             //there may be instance where you want to send the response to replyTo
>             if (msgContext.isServerSide() && msgContext.getTo() != null) {
>                 try {
>                     String replyToAddress = msgContext.getTo().getAddress();
>                     if (!(AddressingConstants.Final.WSA_ANONYMOUS_URL.equals(replyToAddress)
>                             || AddressingConstants.Submission.WSA_ANONYMOUS_URL.equals(replyToAddress))) {
>                         URI uri = new URI(replyToAddress);
>                         String scheme = uri.getScheme();
>                         if (!transportOut.getName().getLocalPart().equals(scheme)) {
>                             ConfigurationContext configurationContext = msgContext.getConfigurationContext();
>                             transportOut = configurationContext.getAxisConfiguration()
>                                     .getTransportOut(new QName(scheme));
>                             if (transportOut == null) {
>                                 throw new AxisFault("Can not find the transport sender : " + scheme);
>                             }
>                             sender = transportOut.getSender();
>                         }
>                     }
>                     //
>                 } catch (URISyntaxException e) {
>                     log.info("error in infer transport from replyTo address");
>                 }
>             }
> The terminate message sets the Transport out to be the Sandesha2TransportOutDesc.
> The check transportOut.getName().getLocalPart().equals(scheme) fails as the scheme returned is http but the getLocalPart is  Sandesha2TransportOutDesc.
> This means the default http sender is used.
> This then means the message isn't sent by the sender thread and ACK messages are not piggy backed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org