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"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address>Paris</address><phone-number>123456</phone-number></employee></soap:Body></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/"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address><street>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/"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address><street>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/"><soap:Body><catalog><book><name>bookName1</name></book></catalog></soap:Body></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/"><soap:Body><catalog><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/"><soap:Body><test><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/"><soap:Body><test><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/"><soap:Body><xml><options><option>1</option><option>2</option></options></xml></soap:Body></soap:Envelope>{"xml": {"options": {"option": [1,2]}}}array_representation and array_parent_child must be used together to handle array representation. array_representation compact creates a compact array as shown in the JSON example.array_representation and array_parent_child should be configured together in pre-inputs to define array_representation.In the case of multiple arrays in the JSON, array_parent_child becomes a comma-separated list of parent|child.
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/"><soap:Body><xml><options><option>1</option><option>2</option></options></xml></soap:Body></soap:Envelope>{"xml": {"options": {"option": [1,2]}}}Expand array_representation is the default array_representation. If there is no configuration in pre-inputs, the default is expand.
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/"><soap:Body><a><b>100</b><c>value</c></a></soap:Body></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/"><soap:Body><a><b>100</b><c>value</c></a></soap:Body></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/"><soap:Body><a><b>true</b><c>value</c></a></soap:Body></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/"><soap:Body><a><b>true</b><c>value</c></a></soap:Body></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/"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address>Paris</address><phone-number>123456</phone-number></employee></soap:Body></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/"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address><street>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/"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address><street>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/"><soap:Body><employee><first-name>Jane</first-name><last-name>Doe</last-name><address><street>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