No account aggregated - WS SOAP

Hello,

I am working on a webservice connector using SOAP.
I’ve been running into a wall while trying to configure an Account Aggregation operation.
I am unable to properly retrieve the accounts and their attributes values. (0 account aggregated)

Here are some informations:
Response Body

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <MNS150MI_LstAllusersResponse xmlns="https://audemarspiguet.local/APWS_IAM_integration/MNS150MI_LstAllusers">
            <LstUserDataResponseItem>
                <User>DOE</User>
                <Description>John DOE</Description>
                <FreeField1>John</FreeField1>
                <UserStatus>20</UserStatus>
                <Company>100</Company>
                <Division>801</Division>
                <Facility>MU2</Facility>
                <Warehouse>U02</Warehouse>
                <SystemLanguage>FR</SystemLanguage>
            </LstUserDataResponseItem>
            <LstUserDataResponseItem>
                <User>DUPONT</User>
                <Description>Jean DUPONT</Description>
                <FreeField1>Jean</FreeField1>
                <UserStatus>20</UserStatus>
                <Company>100</Company>
                <Division>203</Division>
                <Facility>DE6</Facility>
                <Warehouse>E47</Warehouse>
                <SystemLanguage>IT</SystemLanguage>
            </LstUserDataResponseItem>
        </MNS150MI_LstAllusersResponse>
    </soap:Body>
</soap:Envelope>

I’ve tried as a rooth path:
//soap:Envelope/soap:Body/MNS150MI_LstAllusersResponse
or
//soap:Envelope/soap:Body/MNS150MI_LstAllusersResponse/LstUserDataResponseItem
I’ve tried adding text() to the attribute path.

We are recieving the date, no error on that front.
When using a XPath tester online, I manage to get the values, but the same config does not work when inputed into ISC config.

I’ve seen other posts, but to no aveil.

Does someone understand what is causing this?

Do you have any headers set that indicate you are working with XML data? The connector kind of just defaults to thinking it’s getting JSON in the response, so you have to tell it you’re working with XML so it parses it properly.

Try adding a header for Content-Type with a value of application/xml and see if it changes things.

Been there,

Guess you are missing header in your HTTP operation.

header name: soapAction
header value: operation name (for example: getUsers)

Thanks
Krish

Here are my header.
Those are the one I also use on PostMan where it works.

I tried using application/xml but I was met with a 415 error for unsupported media type.

Hello @RLM-AP,

Good Day!

Please check this bellow link. for your reference
https://documentation.sailpoint.com/connectors/webservices/help/integrating_webservices/xml_aggregation.html

1 Like

Hello @RLM-AP

Good day!

Please try this rooth path.

.//soap:Envelope/soap:Body/MNS150MI_LstAllusersResponse/LstUserDataResponseItem

Thank You,

Hey Remi,

You’re correct on the Root Path. It should be:
soap:Envelope/soap:Body/MNS150MI_LstAllusersResponse/LstUserDataResponseItem

You said that you’re getting data in the response, in that case I think Response Mapping could be the culprit.

Could you share the Response Mapping that you did for Account Aggregation?

@RLM-AP will the call work with just a value of text/xml?

Thank you everyone for your answers.

Here is the mapping at the moment:

I’ve tried with the root path: .//soap:Envelope/soap:Body/MNS150MI_LstAllusersResponse/LstUserDataResponseItem
Still got 0 account. I also think the problem come from the mapping. If I can’t get the User value then I get no AccountID for the accounts.
I am looking on the documentation to see if I forgot something.

EDIT: I tried with just text/xml, no error, but same state.

Hello @RLM-AP

Good day!

once try like this
Attribute Path change
@company
@user
@Description

Thank you,

Hello,

Good day to you too!

I’ve tried, but no differences.
No error, but 0 account aggregated.

Your Response Mapping looks correct. I am confused too now.

I looked at one of SOAP WS application I onboarded recently. One difference I see is in the Root Path configured.

Could you try this root path as it is? No .// in front.
soap:Envelope/soap:Body/MNS150MI_LstAllusersResponse/LstUserDataResponseItem

Hello Zeel,
I’ve taken over Remi’s work on this subject. I have tried the rootpath you suggested, but still, I aggregate 0 accounts

Hey Rania, Welcome to the SailPoint Developer Community.

Could you try logging the rawResposneObject in the After Operation Rule and share it here?

Make sure you remove/hide sensitive data.

Hi Remi - looks like it could be the namespaces. Try //soap:Envelope/soap:Body/*:MNS150MI_LstAllusersResponse or //soap:Envelope/soap:Body/*[local-name() =‘MNS150MI_LstAllusersResponse’]