Once a REST Web service represented in WADL has been successfully deployed, the REST Service Status field is changed from 'Not Deployed' to 'Deployed'. The WADL link appears in the REST Web Service tab allowing you to view the WADL description.
For example, the following WADL description is for a PL/SQL API Invoice Creation (AR_INVOICE_API_PUB) that includes 'CREATE_INVOICE' and 'CREATE_SINGLE_INVOICE' REST service operations:
<?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" /> <include xmlns="http://www.w3.org/2001/XMLSchema" href="https://host01.example.com:1234/webservices/rest/Invoice/?XSD=CREATE_SINGLE_INVOICE_SYNCH_TYPEDEF.xsd" /> </grammars> <resources base="http://host01.example.com:1234/webservices/rest/Invoice/"> ... </resources> </application>
Note: The service alias value Invoice entered earlier before service deployment is now displayed as part of the schema for the service operations - 'CREATE_INVOICE' and 'CREATE_SINGLE_INVOICE'.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <application xmlns:tns=... ... <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> <resource path="/create_single_invoice/"> <method id="CREATE_SINGLE_INVOICE" name="POST"> <request> <representation mediaType="application/xml" type="tns2:InputParameters" /> <representation mediaType="application/json" type="tns2:InputParameters" /> </request> <response> <representation mediaType="application/xml" type="tns2:OutputParameters" /> <representation mediaType="application/json" type="tns2:OutputParameters" /> </response> </method> </resource> </resources> </application>
Note: POST is shown as the method name for two service operations 'CREATE_INVOICE' and 'CREATE_SINGLE_INVOICE'. This is the only HTTP method supported for PL/SQL REST services in this release.
Input and output messages can be exchanged in both XML and JSON formats for both service operations.
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 in the REST service operation. For example, the following WADL description shows many methods contained in the Employee Information service. 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>
<include href="http://<hostname>:<port>/webservices/rest/empinfo/?XSD=getallreports.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
<include href="http://<hostname>:<port>/webservices/rest/empinfo/?XSD=getdirectreports.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
<include href="http://<hostname>:<port>/webservices/rest/empinfo/?XSD=getpersoninfo.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
</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="/getDirectReports/">
<method id="getDirectReports" 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="tns2:getDirectReports_Output" />
<representation mediaType="application/json" type="tns2:getDirectReports_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>
{personId} is a path variable, defined using the <param> tag after the <resource> tag and before the <method> tag. Client program should replace the path variable with actual value at run time. For example, an employee's Id will be passed in HTTP GET request when the getPersonInfo service operation is invoked. This returns the associated employee's name and his or her manager's name.
For information on how the path variable can be defined, see Annotations for Java Bean Services or Annotations for Application Module Services.
For the GET method, application context values, including Responsibility, Responsibility Application, Security Group, NLS Language, and Organization ID complex types, are passed as query strings in the RESTHeader element.
For more information about WADL description, see Reviewing WADL Element Details.
To view a deployed WADL file:
Log in to Oracle E-Business Suite as a user who has the Integration Analyst role. Select the Integration Repository responsibility and the Integration Repository link from the navigation menu.
The Integration Repository home page appears.
Locate your desired interface definition through a search or browse from the interface tree structure within the repository.
Click the interface name to open the interface details page.
In the REST Web Service tab, click the View WADL link to view the WADL source code.