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]. 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 *