SuccessFactors Integration question about SOAP Functions

tomjuk26
Tera Contributor

Hi,

I'm looking for some help in relation to the ServiceNow / SuccessFactors integration.

Within our Production ServiceNow environment we are experiencing an issue with the SOAP integration where it will not load the HR integration services for Effective Worker Profiles and Worker Profiles:

tomjuk26_0-1732530110699.png
The corresponding error message for these services shows: “Node is empty for service SuccessFactors - Worker Profiles XPATH: //result

 

An example query that is configured is:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sfobject.sfapi.successfactors.com">

   <soapenv:Header/>

   <soapenv:Body>

      <urn:query>

          <urn:queryString>SELECT

               person

               ,personal_information

               ,address_information

                                                   ,email_information

                                                   ,phone_information

                                                   ,employment_information

                                                   ,job_information

                                                   ,associated_employee_information

                                  from CompoundEmployee

                                   where

                                                  isContingentWorker IN ('true', 'false')

                                                  and

                                                  effective_end_date = to_date('${current_date}','YYYY-MM-DD')

                    </urn:queryString>

         <urn:param>

            <urn:name>maxRows</urn:name>

            <urn:value>800</urn:value>

         </urn:param>

      </urn:query>

   </soapenv:Body>

</soapenv:Envelope>

What I have found is that it is related to the number of records it is trying to return. The query in Prod is trying to return 803 records but the maximum amount to return is 800 as per the maxRows value.

 

In our Test/Dev system, if I change the maxRows value to something less than the count of actual worker profiles – I get the same behavior.

 

For example:

 

  • maxRows set to 700:

tomjuk26_1-1732530110703.png

 

  • maxRows set to 800:

tomjuk26_2-1732530110706.png

 

I've read on some forums that a 'deltaQuery' needs to be added because the response includes the value 'hasMore':

<numResults>800</numResults>
<hasMore>true</hasMore>

 

Has anyone had any experience in setting up another query to get the records after the maximum results? Or has anyone successfully been able to refine the SOAP query to exclude terminated employees?

Any assistance is highly appreciated.

Thanks

Tom

 

1 REPLY 1

tomjuk26
Tera Contributor

@michaelj_sherid - you've been helpful in the past - wondering if you could share any insights? Thanks 🙂