Issue with Web Service Connector (SOAP/RedTrust) – MIME Multipart Response Causes XML Parse Error

Hi everyone,

I’m integrating RedTrust into SailPoint IdentityIQ (IIQ) using a Web Services connector and have run into a blocking issue when performing the Test Connection operation.

:magnifying_glass_tilted_left: Problem Summary

The RedTrust SOAP endpoint responds with a MIME multipart (XOP/MTOM) message instead of standard SOAP XML. The body begins with MIME metadata like this:

--uuid:...
Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding: 8bit
Content-Type: application/xop+xml; charset=utf-8; type="application/soap+xml"

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" ...>
  ...
</s:Envelope>
--uuid:...--

Because of this, IIQ fails to parse the response and throws the following error:

[Fatal Error] :2:1: Content is not allowed in prolog.
Error extracting response from XML
connector.sdk.webservices.exception.WebServicesSdkResponseException

Clearly, the SAX parser is failing due to the MIME boundary and headers preceding the XML envelope.


:gear: Current Connector Header Setup

  • HTTP Method: POST
  • Context URL: /basic
  • Content-Type: application/soap+xml; charset=utf-8
  • Accept: application/soap+xml
  • Accept-Encoding: identity

:test_tube: What I’ve Tried

  • Tested multiple Content-Type values:
    • application/soap+xml; charset=utf-8
    • text/xml; charset=utf-8
    • application/xop+xml; charset=utf-8; type="application/soap+xml" (just to confirm behavior)
  • Added and removed headers like:
    • Accept: application/soap+xml
    • Accept-Encoding: identity
    • Content-Transfer-Encoding: 8bit
    • SOAPAction: "..." for SOAP 1.1 attempts
  • Tried removing xop+xml references from all headers to avoid MTOM, but the server still responds with:
--uuid:...
Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding: 8bit
Content-Type: application/xop+xml; charset=utf-8; type="application/soap+xml"

So far, nothing I’ve tried convinces the server to return plain XML instead of MTOM-wrapped content.

I’ve already tested using a Before Rule, but in that phase you don’t have access to the server response, so it can’t be modified or cleaned there. As for the After Rule, which would allow parsing and modifying the response, it never gets executed because the XML parsing error happens before the rule is triggered.


:light_bulb: My Questions

  1. Is there any way to configure the IIQ Web Services connector to ignore MIME/XOP wrappers or extract just the <Envelope> portion?
  2. Has anyone dealt with SOAP services that always respond with application/xop+xml? Any tips or workarounds?
  3. As an alternative, I’m considering writing a custom Rule (e.g. a Task Rule or Generic Rule) that would:
    • Perform the SOAP call manually using Java (via HttpURLConnection or similar)
    • Extract the <Envelope> from the multipart response
    • Save the cleaned XML into a local file
    • Configure the application in IIQ as a Delimited File or XML source, reading from that cleaned file
      This would decouple the parsing issue from the connector and allow IIQ to process valid XML content, but I’d prefer to avoid that unless no other solution is possible.

Any help or ideas are welcome. If someone has handled this kind of integration, I’d appreciate your input.

Thanks in advance!