[
https://issues.apache.org/jira/browse/SYNAPSE-777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dave Schoorl updated SYNAPSE-777:
---------------------------------
Attachment: SYNAPSE-777.patch
The problem is caused by the absence of a messageId in the MessageContext when
using the servlet channel (the messageId is set when using the non blocking
http transport, E.g. via port 8280).
The CloneMediator and IterateMediator use the messageId as correlationId when
splitting requests, which is used by the AggregateMediator to aggregate the
responses. When there is no messageId, there is no correlationId in the
MessageContext and the AggregateMediator can not do it's work.
The problem is resolved when the SynapseAxisServlet generates a messageId for
the MessageContext it creates. Patch SYNAPSE-777.patch is attached that
resolves this issue.
Please review and apply this patch.
> Issues encountered while using Synapse as a War
> -----------------------------------------------
>
> Key: SYNAPSE-777
> URL: https://issues.apache.org/jira/browse/SYNAPSE-777
> Project: Synapse
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.1
> Environment: RH Linux, Websphere Application Server 6.1,
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build pwi32devifx-20101008a
> (SR12 FP2 ))
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32
> j9vmwi3223ifx-20101008 (JIT enabled)
> J9VM - 20101007_66049_lHdSMr
> JIT - 20100623_16197ifx1_r8
> GC - 20100211_AA)
> JCL - 20101008
> Reporter: Pradeepta Bhattacharya
> Priority: Critical
> Labels: SynapseAxisServlet
> Attachments: SYNAPSE-777.patch
>
>
> We are using Synapse (Synapse 2.1.0) for one of our big initiative and are
> using capabilities such as proxy service, mediators such as Iterate /
> aggregate mediators.
> As we run in a restricted data center we have packaged Synapse as a war in
> our application ear and deployed in Websphere Application Server 6.1 . When
> we start the ear, synapse can be accessed through the default servlet channel
> or directly through synapse port (8280). What we have noticed is that there
> is a difference in behaviour between these two channels.
> 1) If I define a proxy which doesn't use mediators such as iterate or
> aggregator, the servlet channel works fine. The client ( in this case SoapUI)
> can send a request and recieve response.
> 2) In a scenario where we need to use split and aggregate EIP the server
> returns back a "HTTP/1.1 202 Accepted " to the client and the client
> terminates. The execution of various sequences continues even after the
> server returns back the initial response.
> 3) We also noticed that using the servlet transport we face issues with the
> aggregate as its not able to corelate messages printing out the following
> info in our logs -> Unable to find aggrgation correlation XPath or property
> Note : These sequences and mediators are working perfectly if we use the
> Proxy Reciever channel i.e Synapse port 8280.
> Could you please let us know how can we ensure that there is consistency in
> behaviour.
> The scenarios that we have mentioned are easy to recreate, but if you need
> the sequence definations that we have defined please do let us know.
> As we are contemplating on using synapse for a critical requirement, any help
> in resolving these issues is highly appreciated.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]