Understanding WADL Documents

This section discusses WADL documents.

PeopleSoft Integration Broker provides WADL documents for REST services only. REST services are synchronous service operations.

Using the Provide Web Service wizard, you can publish WADL documents to the PeopleSoft WSDL repository in the PeopleTools database.

You can access a WADL document in the WSDL Repository using the Services component or by using the URL generated by the Provide Web Service Wizard when you provide a REST service.

After you a publish a WADL document using the Provide Web Service wizard, the system displays a WADL URL. The URL provided is the path to the WADL document in the WSDL repository in the PeopleSoft Pure Internet Architecture. The URL is used by external systems that will be invoking a PeopleSoft service.

The WADL URL format is path style. The following example shows a WADL URL in path format where the service provided is QE_WEATHERSTATION:

http://<machine>:<port>/PSIGW/RESTListeningConnector/QE_WEATHERSTATION.1.wadl

Every WADL document you generate using PeopleSoft Integration Broker is divided into sections. This section describes the WADL document sections and provides an example of a WADL document generated by the system.

The following example shows a WADL document provided by the PeopleSoft system:

<?xml version="1.0"?>
<application xmlns="http://wadl.dev.java.net/2009/02" xmlns:QE_FLIGHTPLAN_SYNC.VERSION_1="http://xmlns.oracle.com/Enterprise/Tools/schemas/QE_FLIGHTPLAN_SYNC.VERSION_1" xmlns:QE_WEATHERDATA.v1="http://xmlns.oracle.com/Enterprise/Tools/schemas/QE_WEATHERDATA.v1" xmlns:QE_WEATHER_FAULT.v1="http://xmlns.oracle.com/Enterprise/Tools/schemas/QE_Weather.QE_Weather_Fault.v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <grammars>
    <include href="QE_WEATHERDATA.v1.xsd"/>
    <include href="QE_WEATHER_FAULT.v1.xsd"/>
    <include href="QE_FLIGHTPLAN_SYNC.VERSION_1.xsd"/>
  </grammars>
  <resources base="http://ORACLE_ENDPOINT">
    <resource uri="WeatherStation.v1">
      <method href="#GETWeatherStation.v1"/>
      <method href="#HEADWeatherStation.v1"/>
      <method href="#POSTWeatherStation.v1"/>
      <method href="#PUTWeatherStation.v1"/>
      <method href="#PATCHWeatherStation.v1"/>
      <method href="#DELETEWeatherStation.v1"/>
    </resource>
  </resources>
  <method id="DELETEWeatherStation.v1" name="DELETE">
    <request>
      <resource path="weather/{state}/{city}?forecast={day}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}/{city}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}">
        <param name="state" required="true" style="template" type="xsd:string"/>
      </resource>
    </request>
    <response status="200">
      <representation element="QE_WEATHERDATA.v1:WeatherInfo" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
    </response>
  </method>
  <method id="GETWeatherStation.v1" name="GET">
    <request>
      <resource path="weather/{state}/{city}?forecast={day}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}/{city}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}">
        <param name="state" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{country}/{state}/{city}?forecast={day}">
        <param name="country" required="true" style="template" type="xsd:string"/>
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <param name="Accept-Charset" style="header" type="xsd:string">
        <doc xml:lang="ENG">Character sets that are acceptable: utf-8</doc>
      </param>
      <param name="Accept-Language" style="header" type="xsd:string">
        <doc xml:lang="ENG">Acceptable languages for response en-US</doc>
      </param>
      <param name="If-Modified-Since" style="header" type="xsd:string">
        <doc xml:lang="ENG">Allows a 304 Not Modified to be returned if content is unchanged</doc>
      </param>
    </request>
    <response status="200">
      <representation element="QE_WEATHERDATA.v1:WeatherInfo" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
      <param name="Allow" style="header" type="xsd:string">
        <doc xml:lang="ENG">Valid actions for a specified resource.</doc>
      </param>
      <param name="Content-Language" style="header" type="xsd:string">
        <doc xml:lang="ENG">The language the content is in</doc>
      </param>
      <param name="Content-Type" style="header" type="xsd:string"/>
      <param name="Date" style="header" type="xsd:string">
        <doc xml:lang="ENG">The date and time that the message was sent</doc>
      </param>
      <param name="Expires" style="header" type="xsd:string">
        <doc xml:lang="ENG">Gives the date/time after which the response is considered stale</doc>
      </param>
      <param name="Host" style="header" type="xsd:string">
        <doc xml:lang="ENG">Transaction Server</doc>
      </param>
      <param name="Transfer-Encoding" style="header" type="xsd:string"/>
      <param name="Warning" style="header" type="xsd:string">
        <doc xml:lang="ENG">A general warning about possible problems with the entity body.</doc>
      </param>
    </response>
    <response status="400">
      <representation element="QE_Weather_Fault" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
      <param name="Allow" style="header" type="xsd:string">
        <doc xml:lang="ENG">Valid actions for a specified resource.</doc>
      </param>
      <param name="Content-Language" style="header" type="xsd:string">
        <doc xml:lang="ENG">The language the content is in</doc>
      </param>
      <param name="Content-Type" style="header" type="xsd:string"/>
      <param name="Date" style="header" type="xsd:string">
        <doc xml:lang="ENG">The date and time that the message was sent</doc>
      </param>
      <param name="Expires" style="header" type="xsd:string">
        <doc xml:lang="ENG">Gives the date/time after which the response is considered stale</doc>
      </param>
      <param name="Host" style="header" type="xsd:string">
        <doc xml:lang="ENG">Transaction Server</doc>
      </param>
      <param name="Transfer-Encoding" style="header" type="xsd:string"/>
      <param name="Warning" style="header" type="xsd:string">
        <doc xml:lang="ENG">A general warning about possible problems with the entity body.</doc>
      </param>
    </response>
  </method>
  <method id="HEADWeatherStation.v1" name="HEAD">
    <request>
      <resource path="weather/{state}/{city}?forecast={day}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}/{city}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}">
        <param name="state" required="true" style="template" type="xsd:string"/>
      </resource>
      <param name="Accept-Charset" style="header" type="xsd:string">
        <doc xml:lang="ENG">Character sets that are acceptable: utf-8</doc>
      </param>
      <param name="Accept-Language" style="header" type="xsd:string">
        <doc xml:lang="ENG">Acceptable languages for response en-US</doc>
      </param>
      <param name="If-Modified-Since" style="header" type="xsd:string">
        <doc xml:lang="ENG">Allows a 304 Not Modified to be returned if content is unchanged</doc>
      </param>
    </request>
  </method>
  <method id="POSTWeatherStation.v1" name="POST">
    <request>
      <resource path="weather/{state}/{city}?forecast={day}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}/{city}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}">
        <param name="state" required="true" style="template" type="xsd:string"/>
      </resource>
      <representation element="QE_FLIGHTPLAN_SYNC.VERSION_1:QE_FLIGHTPLAN_SYNC" id="QE_FLIGHTPLAN_SYNC.VERSION_1.xsd" mediaType="text/xml"/>
    </request>
    <response status="201">
      <representation element="QE_WEATHERDATA.v1:WeatherInfo" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
    </response>
    <response status="400">
      <representation element="QE_Weather_Fault" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
    </response>
  </method>
  <method id="PUTWeatherStation.v1" name="PUT">
    <request>
      <resource path="weather/{state}/{city}?forecast={day}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}/{city}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}">
        <param name="state" required="true" style="template" type="xsd:string"/>
      </resource>
      <representation element="QE_FLIGHTPLAN_SYNC.VERSION_1:QE_FLIGHTPLAN_SYNC" id="QE_FLIGHTPLAN_SYNC.VERSION_1.xsd" mediaType="text/xml"/>
    </request>
    <response status="200">
      <representation element="QE_WEATHERDATA.v1:WeatherInfo" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
    </response>
  </method>
  <method id="PATCHWeatherStation.v1" name="PATCH">
    <request>
      <resource path="weather/{state}/{city}?forecast={day}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
        <param name="day" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}/{city}">
        <param name="state" required="true" style="template" type="xsd:string"/>
        <param name="city" required="true" style="template" type="xsd:string"/>
      </resource>
      <resource path="weather/{state}">
        <param name="state" required="true" style="template" type="xsd:string"/>
      </resource>
      <representation element="QE_FLIGHTPLAN_SYNC.VERSION_1:QE_FLIGHTPLAN_SYNC" id="QE_FLIGHTPLAN_SYNC.VERSION_1.xsd" mediaType="text/xml"/>
    </request>
    <response status="200">
      <representation element="QE_WEATHERDATA.v1:WeatherInfo" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
    </response>
    <response status="402">
      <representation element="QE_Weather_Fault" id="QE_WEATHERDATA.v1.xsd" mediaType="text/xml"/>
    </response>
  </method>
</application>