Reviewing Web Service WADL Sources

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>

For more information about WADL description, see Reviewing WADL Element Details.

To view a deployed WADL file:

  1. 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.

  2. Locate your desired interface definition through a search or browse from the interface tree structure within the repository.

  3. Click the interface name to open the interface details page.

  4. In the REST Web Service tab, click the View WADL link to view the WADL source code.