Previous Topic: Web Services Bridge Data ProtocolNext Topic: Web Services (SOAP Headers)


Web Services (SOAP) Data Protocol

The Web Services SOAP data protocol converts a SOAP document in XML form to a proper operation/arguments type of request.

For each request presented to the data protocol, it tries to parse the text form of the request body as an XML document. If the body is a valid XML document and the top-level element is Envelope, then the data protocol looks for both Header and Body child elements.

If the SOAP envelope contains a header element, the data protocol looks for a ReplyTo element in the header. Then, under the ReplyTo element, the data protocol checks for an Address element. If an address element is present, the value is set in the metadata list for the current VSE request under the name lisa.vse.reply.to.

If the SOAP envelope contains a body element, then the tag name for the first child of the body element becomes the operation name for the VSE request. If the operation cannot be determined, then nothing occurs for the current request.

If the operation element contains any XML attributes, these attributes are added to the attribute list for the current VSE request.

After it adds the XML attributes to the list, the data protocol examines the entire tree of XML elements under the operation element. All elements that do not have child elements are added to the VSE request as arguments. The name of each argument is constructed by using all parent element tags (up to the operation element) to ensure uniqueness. If the same name appears more than once, then a numeric suffix is added. The numeric suffix indicates an array style structure and ensures the uniqueness of the specific argument.

Finally, the original XML document (the request body) is copied to a new attribute in the VSE request named recorded_raw_request.

This data protocol handler requires no configuration information and so does not present a page in the recording wizard.