Skip to main content
Feedback

Usage

  • Supports both SOAP protocol versions: SOAP 1.1 and SOAP 1.2.

  • Supports pre-processing, as well as post-processing.

  • Supports the default charset=UTF-8 for Content-Type, if not provided during transformation.

SOAP to REST (Pre-Processing)

DescriptionPre-Input DataSOAP MessageTransformed REST MessageRemarks
Normal SOAP Message<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;Paris&lt;/address&gt;&lt;phone-number&gt;123456&lt;/phone-number&gt;&lt;/employee&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"employee":{"first-name":"Jane","last-name":"Doe","address":"Paris","phone-number":"123456"}}
SOAP message with nested tag<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;&lt;street&gt;123 A Street</street></address><phone-number>123456</phone-number></employee></soap:Body></soap:Envelope>{"employee": {"first-name": "Jane","last-name": "Doe","address": {"street": "123 A Street"},"phone-number": "123456"}}
SOAP message with attribute<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;&lt;street&gt;123 A Street</street></address><phone-number type="work">555-1111</phone-number><phone-number type="cell">555-2222</phone-number></employee></soap:Body></soap:Envelope>{"employee": {"first-name": "Jane","last-name": "Doe","address": {"street": "123 A Street"},"phone-number": [{"@type": "work","$": "555-1111"},{"@type": "cell","$": "555-2222"}]}}
Add a new nodenode_interpretation : stricttext_node_name : testNode<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;catalog&gt;&lt;book&gt;&lt;name&gt;bookName1&lt;/name&gt;&lt;/book&gt;&lt;/catalog&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"catalog": {"book": {"name": {"testNode":"bookName1"}}}}Both values, node_interpretation and text_node_name, are mandatory in pre-input configuration to get the specific result. The node_interpretation value must always be 'strict'.Be sure to configure this both together in pre-inputs to add any text node.
Add Custom Attribute prefixuse_attribute_prefix:yes attribute_prefix:#<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;catalog&gt;&lt;book id="01"><name>bookName1</name></book></catalog></soap:Body></soap:Envelope>{"catalog": {"book": {"#id":"01","name": "bookName1"}}}Both values, use_attribute_prefix and attribute_prefix, are mandatory in pre-input configuration to get the specific result. The use_attribute_prefix value must always be 'yes'.The attribute_prefix must be used with use_attribute_prefix.
Namespace handlingnamespace_handling:yes<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;test&gt;&lt;pre:elem xmlns:pre="urn::value">xyz</pre:elem></test></soap:Body></soap:Envelope>{"test": {"pre:elem": {"xmlns:pre":"urn::value","$": "xyz"}}}To handle namespace, set 'namespace_handling:yes' in pre-inputs.
Custom Name Space Prefixnamespace_handling:yes use_namespace_prefix:yes namespace_prefix:#<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;test&gt;&lt;pre:elem xmlns:pre="urn::value">xyz</pre:elem></test></soap:Body></soap:Envelope>{"test": {"pre:elem": {"#xmlns:pre":"urn::value","$": "xyz"}}}To handle namespace, these three values are required in pre-input configurations. These should be configured together as shown in the example.
Array Representation : Compactarray_representation : compactarray_parent_child : options|option<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;xml&gt;&lt;options&gt;&lt;option&gt;1&lt;/option&gt;&lt;option&gt;2&lt;/option&gt;&lt;/options&gt;&lt;/xml&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"xml": {"options": {"option": [1,2]}}}
Array Representation : Expandedarray_representation : expandarray_parent_child : options|option<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;xml&gt;&lt;options&gt;&lt;option&gt;1&lt;/option&gt;&lt;option&gt;2&lt;/option&gt;&lt;/options&gt;&lt;/xml&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"xml": {"options": {"option": [1,2]}}}
Recognize Numberconsider_number:true<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;a&gt;&lt;b&gt;100&lt;/b&gt;&lt;c&gt;value&lt;/c&gt;&lt;/a&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"a": {"b": 100,"c": "value"}}This feature is applicable for SOAP→REST transformation only.
consider_number:false<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;a&gt;&lt;b&gt;100&lt;/b&gt;&lt;c&gt;value&lt;/c&gt;&lt;/a&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"a": {"b": "100","c": "value"}}This feature is applicable for SOAP→REST transformation only.
Recognize Booleanconsider_boolean:true<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;a&gt;&lt;b&gt;true&lt;/b&gt;&lt;c&gt;value&lt;/c&gt;&lt;/a&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"a": {"b": true"c": "value"}}This feature is applicable for SOAP→REST transformation only.
consider_boolean:false<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;a&gt;&lt;b&gt;true&lt;/b&gt;&lt;c&gt;value&lt;/c&gt;&lt;/a&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>{"a": {"b": "true""c": "value"}}This feature is applicable for SOAP→REST transformation only.

REST to SOAP (Post-Processing)

DescriptionREST ResponseTransformed SOAP Response
Normal JSON{"employee" : {"first-name" : "Jane","last-name" : "Doe","address" : "Paris""phone-number" : "123456"}}<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;Paris&lt;/address&gt;&lt;phone-number&gt;123456&lt;/phone-number&gt;&lt;/employee&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope>
JSON with nested tag{"employee" : {"first-name" : "Jane","last-name" : "Doe","address" : {"street" : "123 A Street"},"phone-number" : "123456"}}<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;&lt;street&gt;123 A Street</street></address><phone-number>123456</phone-number></employee></soap:Body></soap:Envelope>
JSON with attribute{"employee" : {"first-name" : "Jane","last-name" : "Doe","address" : {"street" : "123 A Street"},"phone-number" : [ {"@type" : "work","$" : "555-1111"}, {"@type" : "cell","$" : "555-2222"} ]}}<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;&lt;street&gt;123 A Street</street></address><phone-number type="work">555-1111</phone-number><phone-number type="cell">555-2222</phone-number></employee></soap:Body></soap:Envelope>
JSON with empty object{"employee" : {"first-name" : "Jane","last-name" : "Doe","address" : {"street" : "123 A Street"},"phone-number" : [ {"@type" : "work","$" : "555-1111"}, {"@type" : "cell","$" : "555-2222"} ],"other-details" : {}}}<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;employee&gt;&lt;first-name&gt;Jane&lt;/first-name&gt;&lt;last-name&gt;Doe&lt;/last-name&gt;&lt;address&gt;&lt;street&gt;123 A Street</street></address><phone-number type="work">555-1111</phone-number><phone-number type="cell">555-2222</phone-number><other-details></other-details></employee></soap:Body></soap:Envelope>
On this Page