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
*

Reply via email to