7How the Connector Retrieves Geocodes
How the Connector Retrieves Geocodes
This chapter describes how the connector retrieves geocodes for a single address or for multiple addresses. It includes the following topics:
Overview of How the Connector Retrieves Geocodes
To retrieve geocodes, the connector uses the following composites:
Real-time. Siebel Field Service integration uses this flow to retrieve a geocode for a single address record, which typically occurs when a customer service representative (CSR) creates a new address record. Siebel CRM sends the address details to the ORS Geocode Server through the Oracle Fusion Middleware. Siebel Field Service Integration to Oracle Real-Time Scheduler sends a reply to Siebel CRM that includes a list of matching geocoded addresses. The user can choose one of the records.
Batch mode. Siebel Field Service integration uses this flow to retrieve geocodes for multiple addresses, which typically occurs during initial setup when you must retrieve geocodes for a large number of addresses. Batch mode is an asynchronous flow. It uses the Oracle Fusion Middleware database adapter to directly update geocodes in the Siebel database.
For more information, see Integration Services
Integration Flows That Retrieve Geocodes
This topic describes integration flows that retrieve geocodes. It includes the following topics:
Integration Flow That Retrieves a Geocode for a Single Address in Real-Time
Integration Flow That Retrieves Geocodes for Multiple Addresses
For more information, see Integration Services
Integration Flow That Retrieves a Geocode for a Single Address in Real-Time
Siebel Field Service integration retrieves a geocode for a single address in real-time when it must send a geocode query for a particular address.
The following illustrates the integration flow to retrieve a geocode for a single address in real-time. This flow uses Simple Object Access Protocol (SOAP) over Hypertext Transfer Protocol (HTTP) for all interactions with Siebel CRM and Oracle Real-Time Scheduler.

Explanation of Callouts
The integration flow that retrieves a geocode for a single address in real-time includes the following steps:
The Business Process Execution Language (BPEL) process transforms an input address to fit the specifications that the M1-GeocodeAddress ORS Web service operation requires.
The BPEL flow calls the ORS Web service and then receives the reply. The reply can contain zero, one, or more geocodes depending on the granularity and accuracy of the address.
The BPEL flow sends the geocodes it receives as a reply to the Web service call. The BPEL flow does not attempt to directly update the Siebel database record with the geocodes.
This integration uses the RealtimeSingleAddressGeoCoding project to retrieve a geocode for a single address in real-time.
WSDL That Retrieves a Geocode for a Single Address in Real-Time
This integration uses the RealTimeGEOCoding Web Service Definition Language (WSDL) operation to retrieve a geocode for a single address in real-time. For more information, see Integration Services
How Siebel CRM Makes Sure Addresses Are Compatible
Some countries use address formats that include districts, provinces, counties, and so forth. To make these addresses compatible with the address format in Oracle Real-Time Scheduler, the BPEL process performs the following mappings before it calls the Oracle Real-Time Scheduler geocode Web service:
Maps county to state
Maps province to state
Maps district to city
Maps metro area to city
Integration Flow That Retrieves Geocodes for Multiple Addresses
The following illustrates the integration flow that retrieves geocodes for multiple addresses.

Explanation of Callouts
The integration flow that retrieves geocodes for multiple addresses includes the following steps:
In Siebel CRM, the user queries for the addresses for which this integration must retrieve geocodes, and then clicks Bulk Geocode.
Siebel CRM changes the value in the Geocode Sync Description field of the address record to Geocoding In Progress.
Siebel CRM calls the BatchGeoCode method of the BatchGeoService Web service in Oracle Fusion Middleware. It uses Geocoding In Progress as the input.
A database adapter in the BPEL flow retrieves all the address records in the Siebel address table that contain Geocoding In Progress in the Geocode Sync Description field.
The BPEL flow reads the batch message and then parses the batch message into individual address messages so that it can retrieve a geocode for each individual address.
To retrieve a geocode for a single address, the Bulk Geocoding BPEL process calls the real-time geocode BPEL flow for each address. For more information, see Integration Flow That Retrieves a Geocode for a Single Address in Real-Time.
If Oracle Real-Time Scheduler returns only a single set of geocodes, then the BPEL process uses the database adapter to add the latitude and longitude values to the address table in the Siebel database.
If Oracle Real-Time Scheduler returns multiple geocodes or no geocode, then the database adapter inserts an error message in the error column of the address table in the Siebel database.
WSDL That Retrieves Geocodes for Multiple Addresses
To retrieve geocodes for multiple addresses, Siebel CRM uses the BatchGeoCode WSDL operation. For more information, see Integration Services
Web Services That Retrieve Geocodes for a Single Address
This topic describes the Siebel Web services that retrieve geocodes for a single address.
Outbound Web Services That Retrieve Geocodes for a Single Address
Web Service Name | Proxy Business Service Name |
---|---|
BatchGeoService |
BatchGeoCode_port |
RealTimeService |
RealTimeGEO |
The Data Type property is Integration Object for all method arguments of the BatchGeoCode Web service that retrieves geocodes for a single address.
Name | Integration Object Name | Type |
---|---|---|
Batch_Geocode_Query:request |
SearchSpec |
Input |
Name | Integration Object Name | Type |
---|---|---|
RTGEOCODING_IN:parameters |
SWIAddressIO |
Input |
RTGEOCODING_OUT:parameters |
ListOfSwiaddressio |
Output |
Integration Objects That Retrieve Geocodes for a Single Address
Integration Object Name | Business Object | Type |
---|---|---|
SWIAddressIO |
CUT Address |
Siebel Business Object |
ListOfSwiaddressio |
Not applicable |
XML |
SearchSpec |
Not applicable |
XML |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
CUT Address |
CUT Address |
Not applicable |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
ListOfSwiaddressio |
ListOfSwiaddressio |
Not applicable |
CutAddress |
CutAddress |
ListOfSwiaddressio |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
SearchSpec |
SearchSpec |
Not applicable |