Skip to main content

InvokeServiceMethod in EAI Data Mapper Returns Error " SBL-DAT-00610: Access denied to invoke business service 'Custom Service' " (Doc ID 538237.1)

APPLIES TO:

Siebel System Software - Version 7.7.1 SIA [18306] and later
Siebel CRM - Version 7.7.1 [18306] and later
z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: 7.7.1 [18306] Pub Sect
Database: Oracle 9.2.0.4
Application Server OS: Microsoft Windows 2000 Advanced Server SP 4
Database Server OS: IBM AIX 5100-03

This document was previously published as Siebel SR 38-1409242127.
**Checked for relevance on 28-JUN-2016***

SYMPTOMS

In Siebel version 7.7, a data map has been created (based on a working Siebel 7.5.3 version mapping).

One of the mappings invokes a custom business service using expression InvokeServiceMethod.  The following is inclued in a Source Expression in the EAI Data Mapper :-

InvokeServiceMethod("Custom Service", "GetUserAccountId", "loginName=" + [submitter], "Account Id")

When the mapper service ('EAI Data Transformation Engine') is executed, the following error is reported :-

SBL-DAT-00610: Access denied to invoke business service 'Custom Service' for search specification 'InvokeServiceMethod("Custom Service", "GetUserAccountId", "loginName=[submitter]", "Account Id")'

The same Business Service can be executed without error in the Business Service Simulator in the client.

CAUSE

Siebel system has made a security change from Siebel 7.5.3 to 7.7 that requires the explicit registration of the business service. In order to use the InvokeServiceMethod function in the Siebel dedicated client in version 7.7 (and above), the business service name that is called by the InvokeServiceMethod function has to be added as the "BusinessServiceQueryAccessList" parameter value under [Siebel] section in corresponding configuration file as follows:

[Siebel]
BusinessServiceQueryAccessList = BusSvc1,BusSvc2,...
In the customer case, the business service “Custom Service" has to be added under [Siebel] section and it should look as below:

[Siebel]
BusinessServiceQueryAccessList = Custom Service

Change Request Bug 10478921 has been logged to address this documentation enhancement request.

Alternatively, if the InvokeServiceMethod function is called from a server component, the business service name has to be specified as value for the “Business Service Query Access List” server component parameter.

For example, if the repeating component calls the Workflow Process Manager server component to execute a workflow process and the data mapping is called in the Workflow Process, the business service name has to be added as value of the “Business Service Query Access List” component parameter for the Workflow Process Manager server component. Then, the server component should be restarted to take effect after change the component parameter value.

SOLUTION

After setting the BusinessServiceQueryAccessList parameter (in the [Siebel] section of the client cfg file, the error no longer occurred.

Source:
Oracle Support
Doc ID 538237.1

Comments

Popular posts from this blog

How to set Profile Attribute in Siebel Workflow

For setting the Profile Attribute in Siebel Workflow, follow below steps: Add Business Service box in workflow. Open Business Service properties. Set  SessionAccessService in Business Service Name. Set  SetProfileAttr in Method Name. Then click on Business Service and set Input Arguments as below: Against Name argument you will add your profile attribute name and against Value argument you will add value for the new profile attribute, it could be from Process Property or Literal.

How to call Popup Applet through Server Script in Siebel

Background: Based on the requirements you need to show data or reports on a popup applet. You can invoke popup applet using workflow (below business service will be used in business service step), applet server script or browser script and using vanilla method and setting field user properties. Procedure: Below is the script for calling popup applet through server script: if (MethodName == "MethodName") { var oServiceAF = TheApplication().GetService("SLM Save List Service"); var inputPropAF = TheApplication().NewPropertySet(); var outputPropAF = TheApplication().NewPropertySet(); inputPropAF.SetProperty("Applet Name","ABC Popup Applet"); inputPropAF.SetProperty("Applet Mode","6"); inputPropAF.SetProperty("Applet Height", "700"); inputPropAF.SetProperty("Applet Width", "700"); oServiceAF.InvokeMethod("LoadPopupApplet", inputPropAF, outputPropAF) return (CancelOperati...

How to create and publish Inbound Web Service in Siebel based on Workflow

Inbound Web Services: The Inbound Web Service allows an external system to call a Siebel published Web Service. You can publish a business service or a business process as a Web Service and generate a Web Service Definition Language (WSDL) file that an external system can import. The Inbound Web Services can only be published from Siebel C using SOAP-RPC binding. Source: Oracle Docs What Is The Difference Between Web Services and APIs? An API is an interface that allows you to build on the data and functionality of another application, while a web service is a network-based resource that fulfills a specific task. Yes, there’s overlap between the two: all web services are APIs, but not all APIs are web services. Both web services and APIs are — at their core — very useful and very much used today. However, it’s the web services associated with SOAP and/or Service Oriented Architecture which are falling out of favor. Source: NordicApis Process: Prepare the workflow which will serve as Si...