Oracle Web Services On Demand Troubleshooting Guide > Error Codes: Causes and Solutions >

SBL-EAI-04390


This error code has the error symbol: IDS_ERR_EAI_SA_MULTIPLE_MATCH

Generic Error Message

Multiple matches found for instance of integration component 'ObjectName' using search specification '' in the business component 'ObjectName', based on user key ' User Key:1'.(SBL-EAI-04390).

Causes and Solutions

The error has two possible causes.

First Cause

When sending a Web service request for batch processing, the set of user key columns used to identify the first record in the batch is different from the user keys in one or more of the other records in the batch. The first record in the batch determines which columns are used to identify the rest of the records in the batch. For example, when deleting a batch of contacts, an error occurs if the first record specifies Id as the user key whereas the next record in the batch specifies ContactFirstName and ContactLastName as the user key.

Error Message

Multiple matches found for instance of integration component 'Contact' using search specification '' in the business component 'Contact', based on user key ' User Key:4' (SBL-EAI-04390).

Incorrect SOAP Request

In the following incorrect SOAP request, the first contact record uses <ContactFirstName> and <ContactLastName> to identify the record. However, the second contact record uses <Id> to identify the record:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Header>

      <wsse:Security>

         <wsse:UsernameToken>

           <wsse:Username>%%%USERNAME%%%</wsse:Username>

           <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%%PASSWORD%%%</wsse:Password>

         </wsse:UsernameToken>

      </wsse:Security>

   </soap:Header>

   <soap:Body>

      <ContactExecute_Input xmlns="urn:crmondemand/ws/ecbs/contact/">

         <ListOfContact>

            <Contact operation="update">

               <ContactFirstName>NewCon2</ContactFirstName>

               <ContactLastName>Con2</ContactLastName>

               <ContactEmail>a@b.com</ContactEmail>

            </Contact>

            <Contact operation="update">

               <Id>ADSA-96H9CD</Id>

               <ContactEmail>test@test.com</ContactEmail>

            </Contact>

         </ListOfContact>

      </ContactExecute_Input>

   </soap:Body>

</soap:Envelope>

Resolving Error SBL-EAI-04390

When sending a batch request, only specify one set of user keys to identify all records for batch processing. For example, all records in the batch may be identified by the ContactID or the combination of ContactFirstName and ContactLastName as shown in the corrected SOAP request below. For more information on lists of user keys for each object, see Oracle Web Services On Demand Guide.

Correcting the SOAP Request

To correct the SOAP request, choose one set of user keys to uniquely identify all records in the request:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Header>

      <wsse:Security>

         <wsse:UsernameToken>

            <wsse:Username>%%%USERNAME%%%</wsse:Username>

            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%%PASSWORD%%%</wsse:Password>

         </wsse:UsernameToken>

      </wsse:Security>

   </soap:Header>

   <soap:Body>

      <ContactExecute_Input xmlns="urn:crmondemand/ws/ecbs/contact/">

         <ListOfContact>

            <Contact operation="update">

               <ContactFirstName>NewCon2</ContactFirstName>

               <ContactLastName>Con2</ContactLastName>

               <ContactEmail>a@b.com</ContactEmail>

            </Contact>

            <Contact operation="update">

               <ContactFirstName>NewCon7</ContactFirstName>

               <ContactLastName>NewCon7</ContactLastName>

               <ContactEmail>test@test.com</ContactEmail>

            </Contact>

         </ListOfContact>

      </ContactExecute_Input>

   </soap:Body>

</soap:Envelope>

Second Cause

Multiple records have the same user key values in Oracle CRM On Demand Web services. For example, two contacts have the same first and last name.

Error Message

Multiple matches found for instance of integration component 'Contact' using search specification '[First Name] = "NewCon7" AND [Last Name] = "NewCon7"' in the business component 'Contact', based on user key ' User Key:4'.(SBL-EAI-04390).

Incorrect SOAP Request

In the following incorrect SOAP request, multiple records in Oracle CRM On Demand contain the value NewCon7 for the fields ContactFirstName and ContactLastName:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Header>

      <wsse:Security>

         <wsse:UsernameToken>

            <wsse:Username>%%%USERNAME%%%</wsse:Username>

            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%%PASSWORD%%%</wsse:Password>

         </wsse:UsernameToken>

      </wsse:Security>

   </soap:Header>

   <soap:Body>

      <ContactExecute_Input xmlns="urn:crmondemand/ws/ecbs/contact/">

         <ListOfContact>

            <Contact operation="update">

               <ContactFirstName>NewCon7</ContactFirstName>

               <ContactLastName>NewCon7</ContactLastName>

               <ContactEmail>test@test.com</ContactEmail>

            </Contact>

         </ListOfContact>

      </ContactExecute_Input>

   </soap:Body>

</soap:Envelope>

Resolving Error SBL-EAI-04390

To resolve this error, do one of the following:

  • Use the user keys that uniquely identify records in Oracle CRM On Demand. For example, if contacts can have the same first and last name, then use another user key instead of ContactFirstName and ContactLastName.
  • Remove any records in the batch that cannot be uniquely identified by the user key specified by the first record in the batch. Create another request to process those records or manually process those records by using Oracle CRM On Demand.
Correcting the SOAP Request

To correct the SOAP request, use another set of user keys to uniquely identify the record, for example, <Id>:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

   <soap:Header>

      <wsse:Security>

         <wsse:UsernameToken>

            <wsse:Username>%%%USERNAME%%%</wsse:Username>

            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%%PASSWORD%%%</wsse:Password>

         </wsse:UsernameToken>

      </wsse:Security>

   </soap:Header>

   <soap:Body>

      <ContactExecute_Input xmlns="urn:crmondemand/ws/ecbs/contact/">

         <ListOfContact>

            <Contact operation="update">

               <Id>ADSA-9IPBKC</Id>

               <ContactEmail>test@test.com</ContactEmail>

            </Contact>

         </ListOfContact>

      </ContactExecute_Input>

   </soap:Body>

</soap:Envelope>

Oracle Web Services On Demand Troubleshooting Guide Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Legal Notices.