Skip Headers

Oracle E-Business Suite Integrated SOA Gateway Implementation Guide
Release 12.1
Part Number E12169-08
Go to Table of Contents
Contents
Go to previous page
Previous
Go to next page
Next

Administering Native Integration Interfaces and Services

Overview

Various Oracle E-Business Suite application interface definitions shipped with Oracle Integration repository are referred as native integration interfaces. This chapter describes the steps to transform these interface definitions into SOAP Web services or REST Web services.

An Oracle E-Business Suite user who has the Integration Repository Administrator role can perform administrative tasks in managing service life cycle activities and as well as managing security grants.

To better understand how to administer and manage these two types of Web services, the following topics are included in this chapter:

Administering SOAP Web Services

Interfaces Supported for SOAP Service Enablement

Oracle E-Business Suite Integrated SOA Gateway supports the following interface types for SOAP-based service enablement:

Please note that Java APIs for Forms Web services are desupported in Oracle E-Business Suite Release 12.2. If you are planning to use this type of interfaces as Web services, you are advised to use alternate serviceable interfaces, such as PL/SQL and Business Service Objects interfaces, which can be deployed as Web services. Refer to My Oracle Support Knowledge Document 966982.1 for the suggested alternatives to the existing Java APIs for Forms services.

Managing SOAP Service Life Cycle Activities

Only integration repository administrators (defined by the Integration Repository Administrator role) can perform the following administrative tasks in managing each state of SOAP services throughout the entire service life cycle:

Service Generation and Deployment Process Flow

the picture is described in the document text

Managing Other Administrative Tasks for SOAP Services

Some administrative tasks are performed outside the Integration Repository user interface. These tasks are performed in the Administration tab, next to the Integration Repository tab. The Administration tab is specifically for the administrators to perform additional administrative tasks outside the Integration Repository user interface. This tab contains the following administrative and management features:

Note: Note: All Integration Repository Administration functions are grouped under Integration Repository Administrator permission set (FND_REP_ADMIN_PERM_SET) and performed by the users with the Integration Repository Administrator role.

For more information about the Integration Repository Administrator permission set, see Role-Based Access Control (RBAC) Security.

Generating SOAP Web Services

Oracle E-Business Suite Integrated SOA Gateway allows users who have the Integration Repository Administrator role to transform interface definitions to SOAP services.

To accomplish this goal, these interface definitions will be transformed to a machine-processable format that complies with Web standards using Web Services Description Language (WSDL). The WSDL code contains operations or messages that can be bound to a concrete network protocol and message format to define Web services.

Generating SOAP Services

Note: A composite service consists of multiple native services which have WSDL files generated already; therefore, there is no service generation button shown in the composite service details page.

Tip: Multiple requests to generate services for an integration interface are not allowed. While a Web service is getting generated, the status of the service is changed to 'Generating' and the Generate WSDL or Generate button is disabled.

After SOAP Service Generation

For interfaces with the support for SOAP services only, once the SOAP service for a selected interface has been successfully generated, the Web Service - SOA Provider region appears. For interfaces with the support for both SOAP and REST services, the SOAP Web Service tab should contain the generated SOAP service information.

Note: For the Business Service Object interface type, after service generation, the Web Service - Web Service Provider region is displayed instead. For XML Gateway Map interface type, you might find more than one Web Service Region available. See: Generating Web Service Region(s) Based on a Selected Interface Type.

Regenerating the SOAP Service If the Definition is Changed

If the interface definition is changed, the administrators need to regenerate the service from the Interface Details page by clicking Regenerate WSDL in the appropriate Web Service region or Regenerate in the SOAP Web Service tab. Upon regeneration, the service definition will also change to reflect the modification in the interface. The administrators will have to modify its Web service clients based on the new service definition.

If interface definition is not changed, then regenerating the service would not change the service definition. The administrators can continue to use the existing Web service clients, if any, with the new service definition.

Generating Web Service Region(s) Based on a Selected Interface Type

In supporting the Web Service Provider-based and SOA Provider-based service enablement for different interface types, an appropriate Web Service region will be displayed in the interface details page if a SOAP service is successfully generated.

Tip: As mentioned earlier, in Release 12.0, Oracle E-Business Suite is service partially enabled by using Web Service Provider to enable XML Gateway Map and Business Service Object (formerly known as Service Bean) interface types.

In this release, Oracle E-Business Suite Integrated SOA Gateway will continue to support the Release 12.0 based Web Service Provider service enablement, plus the following additional interface types using SOA Provider:

To generate a Web service:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node to locate your desired interface definition.

  4. Click the interface definition name link to open the interface details page.

  5. To generate a SOAP service for a selected interface:

  6. Click the View WSDL link to view the WSDL description.

  7. Click Regenerate WSDL in the appropriate Web Service region or Regenerate in the SOAP Web Service tab to regenerate the WSDL description if necessary.

Generating Web Services from Backend Processing

When trying to generate a Web service from the Integration Repository user interface, if the system takes too long for the service generation to complete, the following HTTP 403 exception may appear on the interface:

oracle.apps.fnd.soa.util.SOAException:SystemError:Error while sending message to server. 

Server returned HTTP response code: 403 for URL: http://<hostname>:<port>/webservices/SOAProvider/EbizAuth?Generate=1656&soa_ticket=u0GKj8W6SbCL2BMDY_Mv9w..' when attempting to perform 'GENERATE'. 

To resolve the issue, a standalone soagenerate.sh script is created allowing you to generate WSDL services for PL/SQL, concurrent program, and XML Gateway Map interfaces through backend processing.

Prerequisites to run soagenerate.sh:

  1. Environment variable (like $IAS_ORACLE_HOME) needs to be set by running .env file in APPL_TOP of your environment.

  2. If the user has appmgr privileges and has read permission on $INST_TOP/ora/10.1.3/j2ee/oafm/config/oc4j.properties, then he or she can run soagenerate.sh without any setup described in step 3.

  3. If user does not have read permission on $INST_TOP/ora/10.1.3/j2ee/oafm/config/oc4j.properties, then he or she needs to set the following properties present in JAVA_TOP/oracle/apps/fnd/soa/provider/wsdl/data/soa.properties:

    1. Set the following two database connection related properties in soa.properties file:

      1. SOA_CREATE_DB_CONN_CONTEXT = true

      2. JTFDBCFILE =<Physical Location of dbc file, to which User has read access>

    2. Set the other required properties:

      1. SOA_SERVER_TEMP_DIRECTORY_LOCATION=<location of $INST_TOP/soa>

      2. SOA_SERVER_URL=<protocol://host:port of Apps Self Service URL>

      3. SOA_ENABLE_STANDALONE_LOGGING = true

  4. User should have write permission on SOA_SERVER_TEMP_DIRECTORY_LOCATION mentioned in step 3.

  5. User should have write permission on the directory from where he or she is running this script.

Usage of soagenerate.sh:

$FND_TOP/bin/soagenerate [help] irepname=<irepname> logfile=<logfile> printprops=<true|false>

Valid arguments for soagenerate are described as follows:

For more troubleshooting information, see the Oracle E-Business Suite Integrated SOA Gateway Troubleshooting Guide, Release 12, My Oracle Support Knowledge Document 726414.1.

Deploying and Undeploying SOAP Web Services

If a SOAP service has been generated successfully, the administrator has the privilege to deploy the generated service in the appropriate Web Service region or the SOAP Web Service tab if the interface can be exposed as both SOAP and REST services.

Deploying SOAP Web Services

the picture is described in the document text

Note: Unlike native services that they are deployed through the Web Service region of an interface type detail page, composite services are typically not deployed within Oracle E-Business Suite like those of other service enabled interface types. You need a separate BPEL PM (SOA Suite or third party BPEL PM server) to deploy the BPEL composite services. For example, a composite service - BPEL type can be deployed through Oracle JDeveloper to a BPEL server in Oracle SOA Suite BPEL PM (Process Manager) or a third party BPEL PM in a J2EE environment. This deployed composite service - BPEL project can update Oracle Applications if necessary.

Deploying Web Services with Authentication Types

To secure Web service content, Oracle E-Business Suite Integrated SOA Gateway supports multiple authentication types for inbound service requests. Prior to deploying or redeploying a SOAP service generated, an integration repository administrator must first select at least one of the following authentication types:

After identifying the preferred authentication type(s) for a Web service, clicking the Deploy button deploys the Web service with selected authentication type(s) from Oracle Integration Repository to Oracle Application Server. When SOA Provider receives inbound SOAP requests, the Web service framework will authenticate the user who sends the SOAP request message based on the specified authentication type(s).

If no authentication type is identified for the service, then an validation error occurs requesting you to select an appropriate authentication type.

Once the Web service has been successfully deployed, the Web Service Status field is updated to 'Deployed' (from "Generated") along with selected authentication type check box(es). This indicates that the selected service has been successfully deployed to the application server.

For more information on supported authentication types for Web service security, see Managing Web Service Security.

Reviewing Deployed WSDL

Once the Web service has been successfully deployed, click the View WSDL link to view the deployed Web service WSDL description. The following example shows the deployed WSDL code:

<?xml version="1.0"encoding="UTF-8" ?>
<definitions name="FNDWF_MOVE_MSGS_EXCEP2NORMAL" 
targetNamespace="http://xmlns.oracle.com/apps/owf/soaprovider/concurrentprogram/fndwf_move_msgs_excep2normal/"
xmlns:tns="http://xmlns.oracle.com/apps/owf/soaprovider/concurrentprogram/fndwf_move_msgs_excep2normal/" 
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:tns1="http://xmlns.oracle.com/apps/owf/soaprovider/concurrentprogram/fndwf_move_msgs_excep2normal/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
 targetNamespace="http://xmlns.oracle.com/apps/owf/soaprovider/concurrentprogram/fndwf_move_msgs_excep2normal/">
  <include schemaLocation="http://<hostname>:<port>/webservices/SOAProvider/concurrentprogram/fndwf_move_msgs_excep2normal/APPS_ISG_CP_REQUEST_CP_SUBMIT.xsd" /> 
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
 targetNamespace="http://xmlns.oracle.com/apps/owf/soaprovider/concurrentprogram/fndwf_move_msgs_excep2normal/"> 
  <element name="SOAHeader">
    <complexType>
     <sequence>
      <element name=="Responsibility" minOccurs="0" type="string"/>
      <element name="RespApplication" minOccurs="0" type="string"/>
      <element name="SecurityGroup" minOccurs="0" type="string" /> 
      <element name="NLSLanguage" minOccurs="0" type="string" />
      <element name="Org_Id" minOccurs="0" type="string" /> 
     </sequence>
   </complexType>
  </element>
 </schema>
</types>
   . . .

Additionally, the following buttons are available in the Web Service - SOA Provider region or the SOAP Web Service tab if the interface can be exposed as both SOAP and REST services:

Note: The Deploy and Redeploy buttons appear only for users who have the Integration Repository Administrator role.

To deploy, undeploy, redeploy a Web service:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node to locate your desired interface definition.

  4. Click the interface definition name link to open the interface details page.

  5. From the Web Service - SOA Provider region (or the SOAP Web Service tab), select at least one of the following authentication type check boxes:

    Click Deploy to deploy the service from Oracle Integration Repository to Oracle Application Server.

    Note: If this selected interface definition has never been generated as a Web service, generate the service first and then deploy it. For information on how to generate a SOAP service, see Generating SOAP Web Services.

  6. Click the deployed View WSDL link to view the deployed WSDL description.

  7. Redeploy the service if needed by clicking Redeploy.

    Note: If changes are made to the Authentication Type field for a deployed Web service, you must redeploy the service.

  8. Click Undeploy to undeploy the service if necessary.

Subscribing to Business Events

Subscribing to Business Events

For business events, users who have the Integration Repository Administrator role can find Subscribe available in the interface details page which allows the administrators to subscribe to selected business events and create subscriptions for the selected events.

Subscribing to a Business Event

the picture is described in the document text

Clicking the Subscribe button lets you subscribe to the selected business event. Internally, an event subscription is automatically created for that event with WF_BPEL_QAGENT as Out Agent. Once the event subscription has been successfully created, a confirmation message appears on the Business Event interface detail page.

To consume the business event message, you should register to dequeue the event from Advanced Queue WF_BPEL_Q. If a business event is enabled and if there is at least one subscriber registered to listen to WF_BPEL_Q, then the event message will be enqueued in WF_EVENT_T structure to Advanced Queue WF_BPEL_Q.

Unsubscribing to Business Events

The Unsubscribe button becomes available in the business event details page if the selected event has been subscribed. Clicking the Unsubscribe button removes the event subscription from WF_BPEL_Q queue. A confirmation message also appears after the subscription has been successfully removed.

For more information on how to dequeue messages, see the Oracle Streams Advanced Queuing User's Guide and Reference.

To subscribe to a business event:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand the Business Event interface type node to locate your desired event.

  4. Click the business event interface that you want to subscribe to it to open the Interface details page for the event.

  5. Click Subscribe to subscribe to the selected event. Internally, an event subscription is created with Out Agent as WF_BPEL_QAGENT. A confirmation message appears after the event subscription is successfully created.

To remove the subscribed event, click Unsubscribe to remove or delete the event subscription if needed.

Managing Security Grants for SOAP Web Services Only

By leveraging Oracle User Management function security and data security, Oracle E-Business Suite Integrated SOA Gateway provides a security mechanism which only allows users who have authorized privileges to access or execute certain API methods exposed through Oracle Integration Repository. This protects application data from unauthorized access without security checks.

Managing Grants in the Methods Region

For interfaces that can be exposed as SOAP services only, security grants are managed in the Methods region.

Note: In this release, only PL/SQL APIs and Concurrent Programs can be exposed as both SOAP and REST services. Therefore, security grants are managed in the Grants tab instead. Once a method access permission is authorized to a grantee, it grants the permission to the associated SOAP and REST services simultaneously. For information on managing security grants for these interfaces, see Managing Security Grants for SOAP and REST Web Services.

Managing Grants in the Methods Region

the picture is described in the document text

Creating Security Grants

In the interface details page, an integration repository administrator can select appropriate method name check boxes in the Methods region. Click Create Grant to open the Create Grants page where the administrator can grant the selected method access permissions to a user, user group, or all users.

Create Grants

the picture is described in the document text

Select one of the following values as the grantee type:

If you select Specific User or Group of Users, specify the user or group for which to create the grants in the Grantee Name field.

Viewing Grant Details

To view the grant details, click the Show link for a given method in the Methods region. If you specified a group of users as the grantee, then all members within the group (i.e. 'Jackson, Lou' and 'Feng, Amy'), plus the group name itself (i.e. 'OIC Payment Analyst Manger Group') are listed as a grantee.

Grant details for two methods

the picture is described in the document text

Note: For each member, the Granted Via column displays the name of the group. For grantees who were selected directly in the Create Grants page, the value in the Granted Via column is Direct.

Revoking Security Grants

In the Methods region, click the Show link for a given method. Click the Revoke icon to revoke a grant for a specific grantee. A confirmation page appears, where you can click Apply or Cancel to execute or cancel the action.

Note: For users who are granted as members of a group, you cannot revoke their grants individually, but revoke the grant for the entire group instead. The Revoke icon is disabled for group members.

To create grants:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node and click an interface definition name link you want to open the interface details page.

  4. Select one or multiple method names for which you want to create grants.

  5. Click Create Grant.

    The Create Grants page appears.

  6. Select a grantee type from the list of values.

  7. If you selected Specific User or Group of Users, specify the user or group for which to create the grants in the Grantee Name field.

  8. Click Apply.

    The interface details page reappears.

To view or revoke grants:

You can view and revoke existing grants directly in the methods list on the interface details page.

  1. Navigate to the interface details page that you want to view or revoke the grants.

  2. In the Methods region, click Show for a given method to view its grant details in a table.

  3. If you specified a group of users as the grantee, each member of the group, plus the group itself, is listed as a grantee.

  4. You can revoke a grant by clicking the trash can icon in the Revoke column.

    A confirmation page appears, where you can click Apply or Cancel to execute or cancel the action.

Viewing Generate and Deploy Time Logs

To effectively troubleshoot any issues or exceptions encountered at design time during service generation and deployment, error messages and service activity information can be logged and viewed through the Interface Details page if logging is enabled for specific services or all services at the Site level only. Administrators can find View Log displayed in the Interface Details page.

Note: Logging is supported for SOAP services only.

Please note that if logging is enabled for 'All Services' at the Site level, then View Log will be shown in the Interface Details page for all interfaces that can be service enabled. If the logging is enabled at the Site level for specific operations, then there will be no log generated and you will not find View Log in the Interface Details page. Generate and Deploy time log is only available if logging is enabled for specific services or all services at the Site level.

Note: You will not find View Log available in the Interface Details page for a given service if the logging is enabled at the user level. Only site level logging configuration with specific services or all services will have the Generate and Deploy time logs captured.

How to configure logging at the site level for enabling specific services, see Enabling Logging at the Service Level.

the picture is described in the document text

Click View Log to open the Log Details page. All logs recorded for the selected service are listed in the table. Each log contains log sequence, log timestamp, module, log level, and actual message recorded at the design time.

Note: Generate and Deploy time logs might be present for a service that has the logging enabled at the site level even if no error occurs while generating (regenerating) and deploying (redeploying or undeploying) the service. For example, if log setup is done at the log level of Statement, then statement level log messages can be written and listed in the log table.

the picture is described in the document text

Deleting and Exporting Logs Listed in the Log Details Page

After viewing log messages retrieved for a service in the Log Details page, you can delete them if needed by clicking Delete All. A warning message appears alerting you that this will permanently delete all the logs retrieved in the page. Click Yes to confirm the action. An empty log table appears in the page after logs are successfully deleted.

Before deleting the logs, you can save a backup copy by clicking Export. This allows you to export the records listed in the Log Details page to Microsoft Excel and save them to a designated directory and use it later.

For more logging information, see Logging for Web Services. For information on how to add a new log configuration, see Adding a New Log Configuration.

At run time during the invocation of Oracle E-Business Suite services by Web service clients, if a service has the logging enabled, log messages can be viewed in SOA Monitor against that instance. For information on viewing log messages through SOA Monitor, see Viewing Service Processing Logs.

To view Generate and Deploy time log messages:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node to locate your desired interface definition.

  4. Click the interface definition name link to open the interface details page.

  5. If logs are available for this selected service that has logging enabled properly, you will find View Log available in the interface details page.

  6. Click View Log to open the Log Details page where you can view the log details.

  7. Click Delete All to delete all the logs listed in the table if needed. Click Yes to confirm the action. Click No to return back to the Log Details page.

    Click Export to export log list table to Microsoft Excel and save the records.

Administering REST Web Services

In addition to supporting SOAP-based service generation and deployment, Oracle E-Business Suite Integrated SOA Gateway allows supported interface types to become REST-based services. REST services can be used for user-driven applications such as mobile, tablet, or handheld devices. In this release, PL/SQL APIs and Concurrent Programs can be exposed as both SOAP and REST services; Java Bean Services and Application Module Services can be exposed as REST services only.

Note: Security services are also REST services; however, unlike other service-enabled interfaces, they are predefined and predeployed REST services from Oracle Application Object Library. This type of services provides security related features for mobile applications. See: Supporting Security Services - Predeployed REST Services.

REST Service Life Cycle

The administrator can perform the following tasks in the REST Web Service tab to manage the REST service life cycle:

The administrator can manage security grants in the Grants tab of the interface details page. It assigns grants to specific users to access or invoke the deployed REST services.

Supporting Security Services - Predeployed REST Services

In addition to exposing a supported interface as a REST service, Oracle E-Business Suite Integrated SOA Gateway supports Oracle Application Object Library's Authentication and Authorization services as REST security services. Security services are used for mobile applications to validate or invalidate user credentials, initialize user sessions with applications context, and authorize users.

Unlike other service-enabled interfaces requiring administrative actions on service development, security services are a set of predeployed REST services which can be invoked by all the Oracle E-Business Suite users.

Security services support token based authentication for invoking other REST services. With token based authentication, it is possible to authenticate a user once based on username and password, and then authenticate the user in the consecutive REST requests using a security token (such as Oracle E-Business Suite user session ID). For more information about the REST service security, see REST Service Security.

To better understand each administrative task, the following topics are included in this section:

Deploying REST Web Services

Oracle E-Business Suite Integrated SOA Gateway allows the administrator to deploy interface definitions as REST services. These interfaces can be PL/SQL APIs, Concurrent Programs, Java Bean Services, and Application Module Services.

Note: PL/SQL APIs and Concurrent Programs can be exposed as both SOAP and REST services; Java Bean Services and Application Module Services can be exposed as REST services only.

Deploying Web Services

the picture is described in the document text

Deploying REST Services in the REST Web Service Tab

Before deploying a REST service, the administrator must perform the following tasks:

REST Service Security

All REST services are secured by HTTP Basic Authentication or Token Based Authentication at HTTP or HTTPS transport level. Either one of the authentication methods will be used in authenticating users who invoke the REST services.

Click Deploy to deploy the selected service operations to an Oracle E-Business Suite application server for consumption.

After Service Deployment

Once the REST service has been successfully deployed, the REST Web Service tab has the following changes:

Reviewing Deployed WADL

To view the deployed REST service WADL, click the View WADL link.

The following example shows the deployed WADL for the selected CREATE_INVOICE service operation contained in the PL/SQL API Invoice Creation (AR_INVOICE_API_PUB):

Note: Please note that 'Invoice' highlighted here is the service alias entered earlier prior to the service deployment. After the service is deployed, the specified alias name (Invoice) becomes part of the service endpoint in the .xsd schema file.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<application xmlns:tns="http://xmlns.oracle.com/apps/ar/soaprovider/plsql/rest/ar_invoice_api_pub/" xmlns="http://wadl.dev.java.net/2009/02"
xmlns:tns1="http://xmlns.oracle.com/apps/ar/rest/ar/create_invoice/" name="AR_INVOICE_API_PUB" 
targetNamespace="http://xmlns.oracle.com/apps/ar/soaprovider/plsql/rest/ar_invoice_api_pub/">
  	<grammars>
  		<include xmlns="http://www.w3.org/2001/XMLSchema" href="https://host01.example.com
:1234/webservices/rest/Invoice/?XSD=CREATE_INVOICE_SYNCH_TYPEDEF.xsd" /> 
  	</grammars>
	<resources base="http://host01.example.com:1234/webservices/rest/Invoice/">
		<resource path="/create_invoice/">
			<method id="CREATE_INVOICE" name="POST">
				<request>
					<representation mediaType="application/xml" type="tns1:InputParameters" /> 
					<representation mediaType="application/json" type="tns1:InputParameters" /> 
				</request>
				<response>
					<representation mediaType="application/xml" type="tns1:OutputParameters" /> 
					<representation mediaType="application/json" type="tns1:OutputParameters" /> 
				</response>
			</method>
		</resource>
	</resources>
</application>

If the deployed REST service is an interface type of Java Bean Services or Application Module Services, then both GET and POST can be shown as the supported methods. For example, the following WADL description shows two Java methods contained in the Employee Information service. The getAllReports operation is implemented with GET method, and the getPersonInfo operation is implemented with both POST and GET HTTP methods.

<xml version="1.0" encoding="UTF-8"> 
<application name="EmployeeInfo" targetNamespace="http://xmlns.oracle.com/apps/per/soaprovider/pojo/employeeinfo/"
 xmlns:tns="http://xmlns.oracle.com/apps/per/soaprovider/pojo/employeeinfo/" 
 xmlns="http://wadl.dev.java.net/2009/02" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:tns1="http://xmlns.oracle.com/apps/fnd/rest/empinfo/getallreports/" 
 xmlns:tns2="http://xmlns.oracle.com/apps/fnd/rest/empinfo/getdirectreports/" 
 xmlns:tns3="http://xmlns.oracle.com/apps/fnd/rest/empinfo/getpersoninfo/">

<grammars>
  	...
</grammars>
<resources base="http://<hostname>:<port>/webservices/rest/empinfo/">
  <resource path="/getAllReports/">
	<method id="getAllReports" name="GET">
	   	<request>
			  <param name="ctx_responsibility" type="xsd:string" style="query" required="false" />
           <param name="ctx_respapplication" type="xsd:string" style="query" required="false" />
				<param name="ctx_securitygroup" type="xsd:string" style="query" required="false" />
				<param name="ctx_nlslanguage" type="xsd:string" style="query" required="false" />
				<param name="ctx_orgid" type="xsd:int" style="query" required="false" />
			</request>
			<response>
					<representation mediaType="application/xml" type="tns1:getAllReports_Output" /> 
					<representation mediaType="application/json" type="tns1:getAllReports_Output" /> 
				</response>
			</method>
	</resource> 
 ...
 <resource path="="/getPersonInfo/ {personId}/">
  <param name="personId" style="template" required="true" type="xsd:int" /> 
	<method id="getPersonInfo" name="GET">
	   	<request>
			  <param name="ctx_responsibility" type="xsd:string" style="query" required="false" />
           <param name="ctx_respapplication" type="xsd:string" style="query" required="false" />
				<param name="ctx_securitygroup" type="xsd:string" style="query" required="false" />
				<param name="ctx_nlslanguage" type="xsd:string" style="query" required="false" />
				<param name="ctx_orgid" type="xsd:int" style="query" required="false" />
			</request>
			<response>
					<representation mediaType="application/xml" type="tns3:getPersonInfo_Output" /> 
					<representation mediaType="application/json" type="tns3:getPersonInfo_Output" /> 
				</response>
			</method>
		</resource> 
 <resource path="/getPersonInfo/">
		<method id="getPersonInfo" name="POST">
				<request>
				   <representation mediaType="application/xml" type="tns3:getPersonInfo_Input" /> 
					<representation mediaType="application/xml" type="tns3:getPersonInfo_Output" /> 	
				</request>
		   	<response>
				   <representation mediaType="application/xml" type="tns3:getPersonInfo_Input" /> 
					<representation mediaType="application/xml" type="tns3:getPersonInfo_Output" />
           </response>
			</method>
		</resource>
  </resource path>
</application>

For more information about WADL description, see Reviewing WADL Element Details, Oracle E-Business Suite Integrated SOA Gateway Developer's Guide.

To deploy a REST Web service:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node to locate your desired interface definition.

  4. Click the interface definition name link to open the interface details page.

  5. In the REST Web Service tab, specify service alias information.

    If the selected interface is an interface type of Java Bean Services or Application Module Services, select the desired HTTP method check boxes for the desired Java or Application Module methods to be exposed as REST service operations.

  6. Click Deploy to deploy the service to an Oracle E-Business Suite environment.

  7. Click the deployed View WADL link to view the deployed WADL description.

Undeploying REST Web Services

Once a REST service has been successfully deployed, the Undeploy button appears in the REST Web Service tab. This allows the administrator to undeploy the service and at the same time to bring the service back to its initial state - 'Not Deployed'.

Undeploying REST Services

the picture is described in the document text

Please note that when a service is undeployed, any existing or running service requests will be completed and no new request is honored. The associated service artifact will be removed from the system.

After a successful undeployment, 'Not Deployed' is shown in the REST Service Status field. The value of the service alias entered earlier now disappears which allows the administrator to enter it again before next deployment.

To undeploy a REST Web service:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node to locate your desired interface definition.

  4. Click the interface definition name link to open the interface details page.

  5. In the REST Web Service tab, click Undeploy to undeploy the service.

Managing Grants for Interfaces with Support for SOAP and REST Web Services

Users who have the Integration Repository Administrator role can create grants to a specific user, users, or a group of users. Grants given to a user for specific services or operations are applicable for both SOAP and REST services.

Note: In this release, only PL/SQL APIs and Concurrent Programs can be exposed as both SOAP and REST services. Java Bean Services and Application Module Services can be exposed as REST services only.

Managing Grants in the Grants Tab for PL/SQL APIs, Concurrent Programs, Java Bean Services, and Application Module Services

Security grants for PL/SQL APIs, Concurrent Programs, Java Bean Services, and Application Module Services are managed in the Grants tab of the interface details page.

Managing Grants in the Grants Tab

the picture is described in the document text

For interfaces with the support for SOAP services only, security grants are managed in the Methods region instead. See: Managing Security Grants for SOAP Web Services Only.

Creating Security Grants

The administrator can select one or more procedures and functions or methods contained in the selected interface, and then click Create Grant. The Create Grants page is displayed where the administrator can grant the selected method access permissions to a user, user group, or all users.

Once a method access permission is authorized to a grantee, it grants the permission to access the associated SOAP and REST service operations simultaneously. For example, when a user (OPERATIONS) is authorized to have access permission on a method called 'Change User Name', regardless if the method has been exposed as a SOAP or REST service operation or not, the user OPERATIONS has the permission to access the 'Change User Name' operation of BOTH service types through the same grant.

Revoking Security Grants

The administrator can revoke security grants in the following ways:

Viewing Grant Details

Each grant contains information about grantee type, grantee name, and whether the grant is authorized through a direct grant (such as a specific user 'OPERATIONS') or other grant method (such as through a user group 'Marketing Group').

To view grant details, click the Grant icon for the method that you want to view. A pop-up window appears with the grant details.

In addition to the Grants tab, you can view the grant details for a desired method from the SOAP Web Service tab and the REST Web Service tab.

To create grants:

  1. Log in to Oracle E-Business Suite as a user who has the Integration Repository Administrator role. Select the Integrated SOA Gateway responsibility and the Integration Repository link.

  2. In the Integration Repository tab, select 'Interface Type' from the View By drop-down list.

  3. Expand an interface type node and click an interface definition (such as a PL/SQL API or Concurrent Program) that can be exposed as both SOAP and REST services.

    The interface details page appears.

  4. In the Grants tab, select one or more procedure and function or method names for which you want to create grants.

  5. Click Create Grant. The Create Grants page appears.

  6. Select a grantee type:

  7. If you select Specific User or Group of Users, specify the user or group for which to create the grants in the Grantee Name field.

  8. Click Create Grant.

    The interface details page reappears.

To view or revoke grants:

You can view and revoke existing grants directly in the methods list on the interface details page.

  1. Navigate to the selected interface that can be exposed as REST services.

  2. To view grant details:

    In the Grants tab, the SOAP Web Service tab, or the REST Web Service tab, click the Grant icon for a given operation. A pop-up window appears allowing you to view the grant details for the selected operation.

  3. To revoke grants in the Grants tab: