To begin creating our Inbound Web Service, let’s first recall what that means: we’re going to expose some function of Siebel for an external client to access. There are two basic entities that we can expose externally: Workflow Processes and Business Services. Siebel Tools offers some really helpful functions to expose Workflows so we’ll take that for our example.
Let’s consider this requirement:
An external Web Site retrieves a unique Customer reference from an end user. Knowing nothing of the customer, the external system will look up the Customers name and address in Siebel.
We’ll create a Web Service to achieve just this.
First of all, consider the components we mentioned in the last post:
- Integration Object – this is important as it defines what data we’ll pull from the Siebel BCs and how it will be presented in XML
- Data Map – this is useful, but not essential: if we want to map and transform data, we can put a DataMap step in the Workflow to achieve this, using a defined Data Map object. We won’t do this in the example.
- Workflow Process – we’ll create a Workflow to read in our inputs, pull out our outputs and handle any exceptions. This will also form the basis for our Web Service
- Inbound Web Service – we’ll get Siebel to create this for us and this will allow us to generate our WSDL file that we can deploy to our external system
In the next four posts, I’ll cover off these items culminating in testing our new Web Service. Today, we’ll start off by creating a new Integration Object.
Let’s start by creating a new project in Tools called My Web Service and lock it. Then follow these steps to build the components:
- Select the ‘File > New Object’ menu item, select the ‘EAI’ tab and select the ‘Integration Object’ item
- Select your Project then select the ‘EAI Siebel Wizard’
- We’re returning Contact details so select the ‘Contact’ BO and ‘Contact’ BC from the drop down lists. Let’s call the new IO ‘My Contact IO’
- You’ll see a number of relationships returned, but we’re only interested in name and address details, so uncheck everything except for the top level ‘Contact’ and ‘Contact_Personal_Address’ objects
- Once the process is complete, your new IO will be brought to focus in Tools. Expand it fully and you will see we have created basic mappings for all Contact and Personal Address fields. Tools has even specified XML tags for each field and relationship, so you don’t have to.
- We don’t need all these fields returned, so inactivate all Integration Component Fields in Contact except for:
And for the purpose of maintaining the user keys:
- First Name
- Last Name
- Account Integration Id
- Employee Number
- Personal Contact
- Person UId
- Personal Contact
- Primary Organization
Use the ‘Edit > Change Records’ menu item to do this quickly.
- Personal Address has a far more manageable number of fields, so leave that as it is.
We now have the basis for the extracting of information from our Contact BC into a format that can be mapped directly into the XML of our SOAP message. This is a major stepping stone to completing our Web Service
Posts in this article: