<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="Demo2"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property expression="//Value1/text()"
name="Value1"
scope="default"
type="INTEGER"/>
<property expression="//Value2/text()"
name="Value2"
scope="default"
type="INTEGER"/>
<property expression="//operation"
name="operation"
scope="default"
type="STRING"/>
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 + value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<Response>$1</Response>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<description/>
</proxy>
-------------------------------------------------------------------------------------------------------------------------
switch:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="Addition"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property expression="//Value1/text()"
name="Value1"
scope="default"
type="INTEGER"/>
<property expression="//Value2/text()"
name="Value2"
scope="default"
type="INTEGER"/>
<property expression="//operation"
name="operation"
scope="default"
type="STRING"/>
<log description="before payload" level="full" separator=","/>
<switch source="get-property('operation')">
<case regex="Addition">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 + value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<case regex="Sub">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 - value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<case regex="Mul">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 * value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<case regex="Div">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 / value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<default>
<log description="NO_OPERATION_FOUND"/>
<respond/>
</default>
</switch>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<description/>
</proxy>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="Demo2"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property expression="//Value1/text()"
name="Value1"
scope="default"
type="INTEGER"/>
<property expression="//Value2/text()"
name="Value2"
scope="default"
type="INTEGER"/>
<property expression="//operation"
name="operation"
scope="default"
type="STRING"/>
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 + value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<Response>$1</Response>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<description/>
</proxy>
-------------------------------------------------------------------------------------------------------------------------
switch:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="Addition"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property expression="//Value1/text()"
name="Value1"
scope="default"
type="INTEGER"/>
<property expression="//Value2/text()"
name="Value2"
scope="default"
type="INTEGER"/>
<property expression="//operation"
name="operation"
scope="default"
type="STRING"/>
<log description="before payload" level="full" separator=","/>
<switch source="get-property('operation')">
<case regex="Addition">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 + value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<case regex="Sub">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 - value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<case regex="Mul">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 * value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<case regex="Div">
<script language="js">var value1 = parseInt(mc.getProperty("Value1"));
var value2 = parseInt(mc.getProperty("Value2"));
var result = value1 / value2;
mc.setProperty("Result", result);</script>
<log>
<property expression="get-property('Result')" name="RESULT"/>
</log>
<payloadFactory media-type="xml">
<format>
<RESULT>$1</RESULT>
</format>
<args>
<arg evaluator="xml" expression="get-property('Result')"/>
</args>
</payloadFactory>
<log/>
</case>
<default>
<log description="NO_OPERATION_FOUND"/>
<respond/>
</default>
</switch>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<description/>
</proxy>
No comments:
Post a Comment