Another interesting adapter on Oracle ICS. Recently I got queries regarding ServiceNow adapter that it was throwing exception and user were not able to make out what is wrong.
I thought of writing a blog that may list down all checks that user should perform beforehand to avoid any issue related to ServiceNow connectivity using adapter on ICS.
- Enable Web-Service Access:
Oracle Cloud Adapter for ServiceNow.com makes use of SOAP API to provide the connectivity and perform operations.It is important to check whether certain tables from ServiceNow are enable to accessed via SOAP call.
Below are the tables that should be checked.
If adapter is being configured as Invoke only then below tables needs to be checked.
- sys_plugins: This table is leveraged to list down all standard apps
- sys_app: This table is leveraged to list down all custom apps
- sys_db_object: To get modules
- sys_ui_section: To get View fields in Get operation
- sys_ui_element: To get View fields in Get operation
Below permissions are required for user only when adapter is configured as ‘Trigger’ or ‘Invoke and Trigger’
- sys_soap_message: To Insert/Delete of ServiceNow Outbound SOAP message
- sys_soap_message_function: To Insert ServiceNow Outbound SOAP message Function
- sys_script: To Insert/Update/Delete of ServiceNow Business Rule
All above table should be enabled to be accessed by webservices in ServiceNow.
Just to make sure that above tables are enables for webservices, login into ServiceNow application with credentials having role to view and edit above table. Most of the time it admin role. Once logged in, on Home page on left page, there is quick search. Search for ‘tables’ out there and select Tables from search result of left pane. It will show you all tables. Filter the table with name (say ‘sus_plugin’) and click on Sys Plugins table. Under the Application Access, there is check box ‘Allow access to this table via web services‘, this should be checked.
Similarly need to check for all above tables and need to make sure that ‘Allow access to this table via web services‘ check box is checked for all tables.
- Role to Access Tables:
Another question that is being asked by most of the customers/ users is what should be the role of the integration user configured on ServiceNow adapter connection page on ICS? Answer to that question is ‘Soap’. By default ServiceNow application provides role with the name ‘Soap’ that should be enough to assign to integration user configured but we need to make sure that we do not customize default ‘Soap’ role. Any other bigger role will also works fine like ‘admin’ of course :).
Customer who are hesitant to provide admin role to integration user and has customized ‘Soap’ role and current soap role is not working for them then alternatively, a new user (e.g. Integration User) can be created in ServiceNow who can then be assigned a custom role that has access to the sys_app table in ServiceNow. User should also have access to SOAP role and should be able to create, read, update and delete the records in the object tables like Incident.
If user does not have sufficient role assigned then you will get issue during drag and drop of adapter on the integration canvas.
Other mistake user does, is ServiceNow instance name is not provided correctly as asked in documentation. ServiceNow instance name on connection page should be of format – https://yourdomain.service-now.com/
please note ‘/’ (slash) at the end. if you miss this slash, you may get exception like ‘Unable to test connection ORACLETOSERV’.