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.
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.
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
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.
My Questions
- Is there any way to configure the IIQ Web Services connector to ignore MIME/XOP wrappers or extract just the
<Envelope>
portion? - Has anyone dealt with SOAP services that always respond with
application/xop+xml
? Any tips or workarounds? - 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.
- Perform the SOAP call manually using Java (via
Any help or ideas are welcome. If someone has handled this kind of integration, I’d appreciate your input.
Thanks in advance!