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.

REST to SOAP (Pre-Processing)

DescriptionREST RequestTransformed SOAP Request
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",****} ]**}}<?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></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",} ],**"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>
JSON with namespace{"m:GetPrice": {"@xmlns:m": "https://www.w3schools.com/prices","m:Item": "Apples"}}<?xml version="1.0" encoding="UTF-8"?><env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header /><env:Body><m:GetPricexmlns:m="https://www.w3schools.com/prices"><m:Item>Apples</m:Item></m:GetPrice></env:Body></env:Envelope>

SOAP to REST (Post-Processing)

DescriptionPost-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, you must provide '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. This 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>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.
On this Page