Export using a SOAP envelope

You are here
Export using a SOAP envelope

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>. See screen shot example below. The <mcsheader> contains the information that MCS needs to send the <mcsenvelope> to its destination.

  • 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 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 JavaScript example below.

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