On Mon, Aug 19, 2013 at 11:21 AM, Isuru Udana <[email protected]> wrote:
> Hi Udayanga, > > On Mon, Aug 19, 2013 at 7:01 PM, Udayanga Wickramasinghe < > [email protected]> wrote: > >> >> >> >> On Sun, Aug 18, 2013 at 9:58 AM, Isuru Udana <[email protected]> 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. > +1 > 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. > great would like to know more about this. please submit a patch when possible. > > 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: [email protected] >>> 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: [email protected] > blog: http://mytecheye.blogspot.com/ > twitter: http://twitter.com/isudana > * > > > > -- http://www.udayangawiki.blogspot.com
