This documentation is for WSO2 Enterprise Integrator version 6.1.1 . View documentation for the latest release.

All docs This doc

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
// sample.js
function transformRequestFunction(mc) {
var symbol = mc.getPayloadXML()..*::Code.toString();
mc.setPayloadXML(
	<m:getquote m="http://services.samples">
		<m:request>
			<m:symbol>{symbol}</m:symbol>
		</m:request>
	</m:getquote>);
}
 
function transformResponse(mc) {
var symbol = mc.getPayloadXML()..*::symbol.toString();
var price = mc.getPayloadXML()..*::last.toString();
mc.setPayloadXML(
	<m:checkpriceresponse m="http://services.samples/xsd">
		<m:code>{symbol}</m:code>
		<m:price>{price}</m:price>
	</m:checkpriceresponse>);
}

Example

...

You can add custom SOAP headers to a request by using the addHeader(mustUnderstand, content) of the Script Mediator in a proxy service as shown in the example below.

Code Block
languagexml
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="CustomSOAPHeaderProxy"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <log level="full">
            <property name="Message" value="IncomingRequest"/>
         </log>
         <script language="js">mc.addHeader(false, &lt;ns:sampleCustomHeader xmlns:ns="gsb:http://wso2.org/sample"&gt;&lt;ns:customInfo&gt;CustomHeader&lt;/ns:customInfo&gt;&lt;/ns:sampleCustomHeader&gt;);</script>
         <log level="full">
            <property name="Message" value="UpdatedMessage"/>
         </log>
         <drop/>
      </inSequence>
   </target>
   <description/>
</proxy>

Example per method

The following table contains examples of how some of the commonly used methods can be included in the script invoked by the following sample Script mediator configuration.

...