I have to set endpoint call timeout dynamically, from user input SOAP request
value.

Timeout synapse template:
<template name="timeout" xmlns="http://ws.apache.org/ns/synapse";> 
        <parameter name="timout_duration" /> 
        <parameter name="initial_duration" /> 
        <parameter name="progressafactor" /> 
        <parameter name="maximumDuration" /> 
        
        <endpoint name="annonymous"> 
                <default format="soap11"> 
                        <timeout> 
                                <duration>$timout_duration</duration> 
                                <responseAction>fault</responseAction> 
                        </timeout> 
                        <suspendOnFailure> 
                                
<initialDuration>$initial_duration</initialDuration> 
                                
<progressionFactor>$progressafactor</progressionFactor> 
                                
<maximumDuration>$maximumDuration</maximumDuration> 
                        </suspendOnFailure> 
                </default> 
        </endpoint> 
</template>

Call the endpoint:
<call>
                        <endpoint name="templ_ep_timeout" template="[timeout 
template path]">
                                <parameter name="timout_duration" value="6000" 
/>
                                <parameter name="initial_duration" value="2000" 
/>
                                <parameter name="progressafactor" value="2.0" />
                                <parameter name="maximumDuration" value="3000" 
/>
                        </endpoint>
                </call>

Questions:

1. <parameter name="timout_duration" value="6000" />. How to set
"timout_duration" parameter value dynamically? ex: taken from SOAP request
and set value through expression="get-property('timeoutDuration')"

2. Anyway I tried, without timeout template, inside my synapse template
with: <parameter name="timeoutDuration" description="timout_duration" />
call:
<call>
                        <endpoint>
                                <default format="soap11"> 
                        <timeout> 
                                <duration>$timeoutDuration</duration> 
                                <responseAction>fault</responseAction> 
                        </timeout> 
                        <suspendOnFailure> 
                                <initialDuration>2000</initialDuration> 
                                <progressionFactor>1.5</progressionFactor> 
                                <maximumDuration>3000</maximumDuration> 
                        </suspendOnFailure> 
                </default> 
                        </endpoint>
                </call>

when template deployed: 
"Caused by: org.apache.synapse.SynapseException: Endpoint timeout duration
expected as a number but was not a number", comes.
if this way is poible, how to make $timeoutDuration as number?



--
View this message in context: 
http://wso2-oxygen-tank.10903.n7.nabble.com/ESB-Issue-with-setting-timeout-values-dynamically-tp92461.html
Sent from the WSO2 Development mailing list archive at Nabble.com.
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to