SOAP Fault Not Shown When Error Occurs in sdq_dedup_realtime_nomemory Method in Match Web Services Methods of DeDuplication Business Service (Doc ID 2111225.1)

Last updated on AUGUST 10, 2017

Applies to:

Siebel CRM - Version 8.1.1.1 [21211] to 8.1.1.14.14 [IP2014] [Release V8]
Information in this document applies to any platform.

Symptoms

ACTUAL BEHAVIOR
---------------
If an error occurs within the 'Person Match Web Service' method of the 'DeDuplication' business service, although that error is captured in the log file it is not treated as an exception (SOAP Fault) so processing continues and it is treated as if there were no matches for the input Contact data.

EXPECTED BEHAVIOR
-----------------------
If an error occurs a SOAP Fault (exception) should be generated which can then be handled.

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Set up Siebel with IIR
2. Ensure matching works correctly (e.g. enter two Contact records in the UI which result in the deduplication popup being shown)
3. Send in a SOAP Request via SoapUI or run the business service simulator for 'DeDuplication' business service method 'Person Match Web Service'. Matches should be returned.
4. Now alter the port number in the ssadq_cfg.xml file in the SDQConnector directory:
FROM:
<iss_port>1666</iss_port>
TO:
<iss_port>1667</iss_port>
5. Run step 3 again. You will see that the input data is returned indicating no matches were generated. Now look at the log and you will see a SBL-APS-00118 error in the sdq_dedup_realtime_nomemory method. This error should have been generated as a SOAP Fault.

DETAILED STEPS
-----------------------
Easiest way to reproduce this is to use a mobile client connected to a server data source and assumes that the installation/integration to IIR has already been performed. It also assumes that the username/password to IIR database is ssa and Oracle datasource name is 'siebeldb'.

1. In ucm.cfg make the following changes by adding the parameters/sections where appropriate:
[Siebel]
EnableWebServices = TRUE
WebServicesPort = 2330

[DataSources]
ISSDataSrc = ISSDataSrc

[ISSDataSrc]
Docked = TRUE
ConnectString = siebeldb
SqlStyle = OracleCBO
TableOwner = ssa
DLL = sscdo90.dll
;;DSUsername = ssa
DSPassword = ssa
Hidden = TRUE

[DataCleansing]
Enable = FALSE

[DeDuplication]
Enable = TRUE
Type = ISS

2. Log in to Siebel UCM via icon connecting to server database.
3. Go to Administration - Data Quality > Data Quality Settings and make sure data quality is set up for IIR, e.g.
Contact Match Against: All Address
Enable DQ Multiple Addresses: Yes
Enable DeDuplication: Yes
Enable DQ Sync: Yes
Force User DeDupe - Contact: Yes
Fuzzy Query Enabled: Yes
Sort Match Web Service Results: Yes
...

4. Go to Administration - Runtime Events > Action Sets, query for "DQ Sync*" and mark all records as Active=Y. Reload runtime events.

5. Log out of the Siebel client.
6. Set environment variable SIEBEL_LOG_EVENTS=5 and then log in again.
7. Make sure that the IIR server is up and running and the Update Synchroniser is running also.
8. Add a couple of Contact records via the Contact List View, e.g.
First Name: Andrew
Last Name: Locke

You should see the deduplication popup identifying a match of 100%.

9. Install and open Soap UI

10. Create a new project based upon the PersonMatchService WSDL from Administration - Integration > Inbound Web Services as necessary.

11. Open PersonMatchService to open Request1. Alter the endpoint to the client URL:
http://localhost:2330?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1

12. Send a SOAP request with First Name and Last Name from step 7:

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms