Friendly URLs can either be based on web service definitions or explicitly configured in FSCOWS@1.1001:WebServiceConfiguration.
Friendly URLs Based on Web Service Definitions
Web Service Definitions
A web service definition defines a set of actions (or SOAP actions), which are bundled in a single accessible endpoint represented by a WSDL. Additionally RESTful services/operations are exposed, too. The list of operations exposed by the web service is defined in FSCOWS@1.1001:webserviceactions.
The format of a friendly URL based on a web service definition looks like:
reference of a web service definition
a specific web service operation
Note: References in URLs must be written in underscore notation. If the software component reference contains underscores, these are duplicated. The characters “@”, “.” and “:” are substituted by underscores. For example, the reference MY_COMP@620.1200:Web_Service results in MY__COMP_620_1200_Web_Service.
In case that only the operations defined in a FSCOWS@1.1001:WebServiceDefinition should be exposed for friendly URL access no explicit configuration is necessary, if the following applies:
- The name of the friendly URL is <full reference of web service definition in underscore notation>.<web service operation or short reference of action>.
- The parameters of the actions defined in FSCOWS@1.1001:webserviceactions only contain types that are usable in friendly URLs.
- The parameters of the actions defined in FSCOWS@1.1001:webserviceactions have the same sequence as the parameters of the friendly URLs.
- The actions defined in FSCOWS@1.1001:webserviceactions have zero or one input content.
- The actions defined in FSCOWS@1.1001:webserviceactions have zero or one output content.
- The service supports only HTTP_GET and HTTP_POST (HTTP_POST only if an action defined in FSCOWS@1.1001:webserviceactions has an input content).
Friendly URLs Configured in FSCOWS@1.1001:WebServiceConfiguration
Friendly URLs can be explicitly configured in the FSCOWS@1.1001:WebServiceConfiguration.
Following parameters can be defined:
- URL Marker
The primary part of the friendly URL.
- DAV Action
The action to be executed.
- Content Input Parameter
Contains the HTTP body of the HTTP request. If present, the content is passed to the DAV action for processing. The parameter is passed as a type COOSYSTEM@1.1:CONTENT.
- Content Output Parameter
If the DAV action returns one or more contents as result, this parameter is used to define which content is used as HTTP body of the HTTP response. The parameter must be of type COOSYSTEM@1.1:STRING, COOSYSTEM@1.1:CONTENT, COOSYSTEM@1.1:CONTENTLIST or COOSYSTEM@1.1:Content. In the latter case, the value in the contained attribute COOSYSTEM@1.1:contextension is used to determine the MIME type of the outgoing HTTP response.
- Parameter Mapping
Maps friendly URL parameters to the parameter of the DAV action. More specific, the name of the action parameter is mapped to the position of the value in the friendly URL.
The object on which the DAV action is called can also be specified using the keyword "this" as action parameter. In this case, the specific URL parameter has to be a valid object address.
If the second URL parameter has been configured with the action parameter "this", the object with the object address COO.18.104.22.168 is used as the object on which the DAV action is called upon.
- Allowed HTTP Methods
Each friendly URL call is initially restricted to the HTTP methods "GET", "HEAD" and "OPTIONS". To extend this restriction, additional HTTP methods can be configured within this attribute.
Example: For the "convert" friendly URL to function properly, the HTTP method "POST" must be configured.
Should a non-configured HTTP method be used in a request, the request is answered with HTTP 405 "Not Allowed".
- Action Will Not Change State
If the action called by the friendly URL does not make changes, set this field to true. In this case no CSRF check (“Cross Site Request Forgery”) is carried out for the friendly URL.
- Software Component
The software component that has added the entry.