Overview of Custom Headers in REST Outbound Proxy Business Service Methods

When you import the OpenAPI specification in the JSON format, the import creates proxy business service method arguments for all the parameters, including header parameters specified in the OpenAPI JSON. However, there may be some scenarios where the header parameters are not defined in the JSON specification, or where customers want to add some custom headers that are not part of JSON specification. In these scenarios, headers or custom headers can be added as method arguments. For more information, see Adding Custom Headers in REST Outbound Proxy Business Service Methods.

Business service method arguments take the following string format: parameter-name:header. The suffix :header specifies that this parameter goes into the header section when the REST Outbound http call is invoked.

Custom headers prefixed with HDR. , HDR_, or siebel_transport_header can be sent directly without requiring a corresponding entry in the repository definition. The following XML example shows the HDR. , HDR_, and siebel_transport_header headers used in an input <PropertySet>. The headers api_key:header and customheader:header remain in the repository, however HDR_headerName1, HDR.headerName2 and siebel_transport_header:headerName3 are not part of the repository definition. During runtime all these headers are processed and become part of the request header.
<?xml version="1.0" encoding="UTF-8"?><?Siebel-Property-Set EscapeNames="true"?>
<PropertySet
 type_clnsecurity="basic"
 username_clnsecurity="username"
 password_clnsecurity="password"
 api_undkey_clnheader="abc"
 HDR_undheaderName1="HDR_value"
 HDR.headerName2="HDR.value"
 siebel_undtransport_undheader_clnheaderName3="siebeltransporheaderval"
 customheader_clnheader="headervalue" 
>
</PropertySet>

The following figure shows an example of an existing parameter, a business service method argument called api_key, with the word header appended, making it api_key:header.

Example of an existing parameter, a business service method argument called api_key, with the word header appended, making it api_key: header.

You can append other parameters to REST HTTP requests, for example:

  • Path parameters, for example: api_key:path

    This requires the address to have a variable named with parameter name. For example, https://somehost:80/sampleuri/{api_key}

  • Input parameters, for example: api_key:body
  • Header parameters, for example: api_key:header