Hi All,
We are going to develop a ESB mediator which can be shipped as a feature
and once this feature is installed within ESB, the DS mediator can be used
to make data services calls in-line, without making actual SOAP requests,
but it will use in-memory calls to invoke data service operations.
So this will add the capability to have .dbs file in registry or some other
file location and invoke the data-service operations without deploying the
.dbs as a data-service and process the response within the ESB.
Possible mediator configuration will look as follows:
<!-- normal request -->
<dsCall serviceName/servicePath="..."> <!--
serviceName is used when calling to a actually deployed data-service within
current service configuration &
servicePath is used to invoke a operation from .dbs file which has not
deployed -->
<operation/resource name/path=".." /> <!--
operation name or resource path to be invoke -->
<params expression="xpath"> <!-- xpath
expression is optional, which can be defined to take all input parameters.
-->
<param name="name1" value="value1" /> <!-- if the xpath
expression in "params" is not provided then provide the parameters in line
-->
<param name="arrayName1" value="arrayVal1" />
<param name="arrayName1" value="arrayVal2" />
<param name=".." expression="xpath" /> <!-- inline
parameter value can be provided through xpath -->
<params>
</operation>
<target expression="xpath" /> <!-- If
the xpath is not provided, response message after invoking the operation
will added as fist child element of
the SOAP body. If an xpath expression is provided then it will set in the
given location.
</dsCall>
<!-- batch request -->
<dsCall serviceName/servicePath="...">
<operation/resource name/path=".."/>
<params expression="xpath">
<batch expression="xpath"> <!-- xpath
expression can be used to define parameter set for a one batch -->
<param name="name1" value="value1" />
<param name="arrayName1" value="arrayVal1" />
<param name="arrayName1" value="arrayVal2" />
<param name=".." expression="xpath" />
<batch>
<batch ..>...</batch>
<params>
</dsCall>
<!-- boxcarring -->
<dsCall serviceName/servicePath="...">
<boxcarring>
<request>
<operation/resource name/path=".." />
<params expression="xpath">
<param name="name1" value="value1" />
<param name="arrayName1" value="arrayVal1" />
<param name="arrayName1" value="arrayVal2" />
<param name=".." expression="xpath" />
<params>
</operation>
</request>
<request ...></request>
</boxcarring>
<target expression="xpath" />
</dsCall>
Appreciate any feedback and ideas.
Regards,
Dinusha.
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev