Hi Hiranya, I have attach a patch to [1] with suggested modifications. A sample and an integration test is also attached to [2].
[1] https://issues.apache.org/jira/browse/SYNAPSE-969 [2] https://issues.apache.org/jira/browse/SYNAPSE-970 Thanks. On Tue, Aug 20, 2013 at 8:14 AM, Isuru Udana <isud...@gmail.com> wrote: > > > > On Tue, Aug 20, 2013 at 12:13 AM, Hiranya Jayathilaka < > hiranya...@gmail.com> wrote: > >> And one more thing. >> >> I noticed that when the callout mediator is configured with an >> endpointKey, the key is resolved only once (at the first message). Try to >> make it so that the mediator will resolve the key on each message. That way >> the callout mediator can take advantage of the underlying caching + dynamic >> endpoint update system. >> > I will do this modification along with the inline endpoint support. > > Thanks. > >> >> Thanks, >> Hiranya >> >> On Aug 19, 2013, at 8:21 AM, Isuru Udana <isud...@gmail.com> wrote: >> >> Hi Udayanga, >> >> On Mon, Aug 19, 2013 at 7:01 PM, Udayanga Wickramasinghe < >> mastershield2...@gmail.com> wrote: >> >>> >>> >>> >>> On Sun, Aug 18, 2013 at 9:58 AM, Isuru Udana <isud...@gmail.com> wrote: >>> >>>> Hi All, >>>> >>>> Currently we have following two main places we use a blocking client to >>>> invoke services. >>>> 1. Callout Mediator >>>> 2. Forwarding Message Processor >>>> >>>> Both these components use the axis2 service client to invoke services >>>> in a blocking manner. >>>> Since the implementation is very simple, provided functionality is very >>>> limited. >>>> >>>> Currently we have following major limitations. >>>> >>>> * Supports only SOAP >>>> * Message format conversion is not supported >>>> * QOS functionality (WS-Security, etc.) are not supported >>>> * Cannot specify an endpoint as the service endpoint reference (In >>>> message processors we can specify an Address endpoint. But none of the >>>> other endpoint types and other endpoint functionality is supported) >>>> >>>> I have implemented a new blocking client which can be used as a common >>>> blocking sender for both above components. >>>> This new implementation will provide the following functionality. >>>> >>>> * Support all leaf endpoint types >>>> * Support for REST >>>> * Support Endpoint functionality. >>>> - Endpoint format conversions (soap11,soap12,pox, etc.) >>>> - WS-Security, WS-A >>>> - Endpoint Timeout (nhttp transport specific functionality is not >>>> supported) >>>> * message format conversions (ability to use messageType/ContentType >>>> properties) >>>> >>>> I have attached this implementation as patch to SYNAPSE-966 [1]. >>>> I have also attached a patch[2] to migrate the Callout mediator to this >>>> implementation. >>>> A sample with documentation and an integration test is also attached at >>>> [3]. >>>> >>> >>> +1 >>> This would be a great addition. I think synapse library support for a >>> blocking client would also be a good idea. Specially because many users >>> tend to create complex workflows with Synapse using either service chaining >>> ,etc without any obvious high performance requirement (leveraging >>> asynchronous non blocking capability of Synapse). I think a synapse library >>> would provide a high level abstraction as well as portability for easily >>> creating such workflows. >>> >> >> I think those service chaining workflows can be simplified by introducing >> a Callout like behavior for the send mediator. >> It will make the service chaining scenarios much simpler and we will able >> to leverage asynchronous non blocking transports as well. >> I have already done significant amount of work on implementing this >> feature. >> If I get enough time to test the implementation completely before this >> release, I will provide a patch to review. >> >> Thanks. >> >>> >>>> If others interested, I can provide patches to migrate Message >>>> processor to this implementation and more samples. >>>> >>>> [1] https://issues.apache.org/jira/browse/SYNAPSE-966 >>>> [2] https://issues.apache.org/jira/browse/SYNAPSE-967 >>>> [3] https://issues.apache.org/jira/browse/SYNAPSE-968 >>>> >>>> Thanks. >>>> Isuru >>>> >>>> -- >>>> *Isuru Udana* >>>> * >>>> * >>>> * >>>> Senior >>>> ** >>>> Software Engineer; WSO2 Inc.; http://wso2.com >>>> >>>> email: isud...@gmail.com >>>> blog: http://mytecheye.blogspot.com/ >>>> twitter: http://twitter.com/isudana >>>> * >>>> >>>> >>>> >>>> >>> >>> >>> -- >>> http://www.udayangawiki.blogspot.com >>> >> >> >> >> -- >> *Isuru Udana* >> * >> * >> * >> Senior >> **Software Engineer; WSO2 Inc.; http://wso2.com >> >> email: isud...@gmail.com >> blog: http://mytecheye.blogspot.com/ >> twitter: http://twitter.com/isudana >> * >> >> >> >> >> -- >> Hiranya Jayathilaka >> Mayhem Lab/RACE Lab; >> Dept. of Computer Science, UCSB; http://cs.ucsb.edu >> E-mail: hira...@cs.ucsb.edu <hira...@wso2.com>; Mobile: +1 (805) >> 895-7443 >> Blog: >> http://techfeast-hiranya.**blogspot.com<http://techfeast-hiranya.blogspot.com/> >> >> > > > -- > *Isuru Udana* > * > * > * > Senior > ** > Software Engineer; WSO2 Inc.; http://wso2.com > > email: isud...@gmail.com > blog: http://mytecheye.blogspot.com/ > twitter: http://twitter.com/isudana > * > > > > -- *Isuru Udana* * * * Senior ** Software Engineer; WSO2 Inc.; http://wso2.com email: isud...@gmail.com blog: http://mytecheye.blogspot.com/ twitter: http://twitter.com/isudana *