Export Using a SOAP Envelope

Send test data to external business applications using the XML/SOAP interface.

Overview

MCS supports an XML/SOAP interface to allow test clients to securely send data to external business applications. The XML/SOAP interface is established as part of the HTML document and uses the MCS JavaScript (JS) APIs to select the test result metrics on conclusion of the test. This approach allows the client to incorporate the data and package them in the required format for the receiving application.

Building the SOAP Header and Envelope

There are two parts to the SOAP dataset: the <mcsheader> and the <mcsenvelope>. The <mcsheader> contains the information that MCS needs to send the <mcsenvelope> to its destination.

Element Description
Key A security key provided by the test process
Date The date/time of the test provided by the test
MSSID The testid number of the test results
SID The test session identifier that was assigned to the test
Destination The destination IP address (and port if not 80) for the recipient application of the <mcsenvelope> data, e.g. 10.24.6.8
HTTP URL The complete recipient application URL
Audit yes or no enables/disables MCS auditing of the iForward transaction

The <mcsenvelope> defines the container for the SOAP envelope itself. The SOAP envelope body is used to package any data that needs to be sent to the recipient application. The data can consist of test metric results such as VoIP jitter, packet loss%, download speed, etc., as well as business relevant data.

The structure and format of the data is XML based and is therefore open and extensible. The SOAP envelope is sent to MCS by the test client. MCS processes the <mcsheader> to determine the destination defined by the test configuration. The destination is responsible for unpacking the data contained in the <soapenv:Body>.

An example of a full <MyConnectionServerXml> frame containing the <mcsheader> and <mcsenvelope> is shown below.

SOAP envelope example showing header and body structure
SOAP envelope example

Sending the Envelope

Once the envelope has been defined, it needs to be sent to MCS using the MCS iForward URL. The iForward URL is defined as https://<targetmcs domain or IP>/myspeed/iforward. MCS will then forward the envelope on to the destination defined in the header.

See the JavaScript example below:

var vHttpClient = new HttpClient();
vHttpClient.post('/myspeed/iforward', sendbuffer, function(response) {
    output_html.innerHTML = response;
});