Outbound SOAP message fails with a "VersionMismatch" fault code.


Description

When sending an outbound SOAP message from an instance to an external endpoint the endpoint can return the following error:

<faultcode>soapenv:VersionMismatch</faultcode>

<faultstring>Transport level information does not match with SOAP Message namespace URI</faultstring>

 

This is due to a mismatch of SOAP versions between the configured ServiceNow outbound SOAP message and the endpoint receiving the message.

Release or Environment

All versions

Resolution

The below will identify the SOAP version used in the message when viewing the SOAP request.

SOAP 1.1 ="http://schemas.xmlsoap.org/soap/envelope/"

SOAP 1.2 ="http://www.w3.org/2003/05/soap-envelope"

 

To resolve the "VersionMismatch" error, simply update the ServiceNow outbound SOAP envelope to use the correct version that matches the endpoint.

eg. To change to SOAP 1.2

From:

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:ins="insite:soapws:connectorn:v1" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header/><soap:Body><ins:dataTransferRequestType><ins:login><username>..</username><password>..</password></ins:login>...</soap:Body></soap:Envelope>

To: 

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:ins="insite:soapws:connectorn:v1" xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header/><soap:Body><ins:dataTransferRequestType><ins:login><username>..</username><password>..</password></ins:login>...</soap:Body></soap:Envelope>