How To Pass the Output of EAI Siebel Adapter Query Method in a Custom Business Service Published as an Inbound Web Service ?
Steps:
- Log in to Siebel Tools and create a new custom business service.e.g: MyBS.
- Expand to Business Service Method and add a record:
Name = MyQuery - Expand to Business Service Method Arg and add 3 records:
-
- SiebelMessage, Type = Input, Data Type= Integration Object, Storage Type=Hierarchy , Integration Object = "EAI Account" (or your preferred IO)
- MyIO, Type = Output, Data Type= Integration Object, Storage Type = HIERARCHY, Integration Object = "EAI Account" (or your preferred IO)
- Error Message, Type = Output, Data Type = String, Storage Type = Property
Publishing Inbound Web Servicesfunction Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
if (MethodName == "MyQuery" )
{
// get hold of EAI Siebel Adapter BS
var adpBS = TheApplication().GetService("EAI Siebel Adapter");
// Variable to hold EAI Siebel Adapter output
var psQueryOutput = TheApplication().NewPropertySet();
// Variable to hold MyIO output argument.
var MyIOOutput = TheApplication().NewPropertySet();
// receiving an IO as input to the web service
// it gets passed to "Inputs" variable.
// passing "Inputs" directly to EAI Siebel Adapter.
adpBS.InvokeMethod("Query",Inputs,psQueryOutput);
// (Doc ID 476560.1)
MyIOOutput.SetType("MyIO");
// goes down the propertyset till you find the IO you are looking for.
// hint: Doc ID 477881.1
MyIOOutput.AddChild(psQueryOutput.GetChild(0).GetChild(0));
// set the output of your custom BS
Outputs.AddChild(MyIOOutput);
Outputs.SetProperty("Error Message","Record Retrieved Successfully");
// dump the output structure here
DumpPropSet(Outputs);
adpBS = null;
psQueryOutput = null;
MyIOOutput = null ;
return (CancelOperation);
}
else
{
return(ContinueOperation);
}
}
- 4. Right click the business service name and select Edit Server Scripts.
5. Choose eScript as the programming language.( could be Siebel VB too but the code sample below is eScript). Add the code below, review and compile to the server SRF.
6. Publish the business service as an inbound web service the usual way.
The steps are descriped in Bookshelf: Integration Platform Technologies: Siebel Enterprise Application Integration > Web Services > Invoking Siebel Web Services Using an External System >
Notice during the publishing process, the BS will NOT be listed. You have to add a new record and type in the BS name as documented in bookshelf.
7. Test. You may want to use a test utility such as SOAPUI or any other tool.
You may as well use use a siebel dedicated client and sample database as seen in How To Test Siebel Inbound Web Services Using a Siebel Client (Doc ID 473838.1).
If testing with a Siebel dedicated client, the following document may be helpful too: How To Create Integration Object Instances Programmatically (Doc ID 556846.1)
The DumpPropSet(Outputs) below helps us understand both how to pass data as output as well as data for input scenarios.
The important here is the structure should have 4 levels :
1) Inputs (or Outputs) property. It does not have any type set.
2) Business service method argument level property. This is a child of (1) above and has type = business service method argument name (in the example below "MyIO")
3) Integration Object representation. This is a child of (2) above and has type =ListOf<IO_NAME>
(in the example below ListOfEAI Account)
4) root integration component level. Should have type = root IC name.
In this case type = Account
Related Articles:
Browse Categories
User login
Navigation
Popular content
- Autosys Job Handling (13,609)
- GE UNIVERSAL REMOTE INSTRUCTIONS (12,357)
- Siebel User properties (9,094)
- Test 1 - NC Drivers License Test - DMV Question Dump (8,770)
- Making a View "Read Only" based on a criteria: Aspect User Property (4,216)
- Siebel Application Response Measurement (SARM) (4,144)
- Siebel Predefined Queries (PDQ) – Reference (4,080)
- Siebel Server Component Event Logging (3,662)
- Strategies for Building Team Cohesion (3,153)
- How to create the EBC’s in Siebel (3,085)
Readers who viewed this page, also viewed:
- What to expect from Open UI for Siebel CRM (50.0%)
- EAI Interview Questions and Answers - Test 1 (50.0%)
- Siebel Multi Lingual Changes – Considerations (50.0%)
- Siebel Repository tables (50.0%)
- Installing Patch in Siebel 8 - Client using Opatch Utility (50.0%)
- NEON Adapter for Siebel (50.0%)
- How To Pass the Output of EAI Siebel Adapter Query Method in a Custom Business Service Published as an Inbound Web Service (33.3%)
- Handling Error - Unable to create the Business Service 'Web Service Deployment Service' (33.3%)
- How to integrate or consume an external RESTful web service in Siebel 8 (33.3%)
- How can I show a html (or a mhtml) file within an applet? (33.3%)
