Overview of the REST Outbound Proxy Business Service
The following figure shows the Business Services pane with the business service:
SwaggerPetstoreUPOpenAPI30.
It also shows the Business
Service Methods pane, and the method name: addPet:post
.

Business Services
The first object generated by the WSDL/JSON Import Wizard is a REST outbound proxy
business service belonging to the
CSSWSRESTOutboundDispatcher
class. This service acts as
a client-side implementation of the REST API endpoint, and it includes the business
methods and arguments that correspond to the operations, or
OperationId
fields, defined in the imported JSON
document.
The business service name is derived from the title
value in
the JSON document. In this example, the business service is called:
SwaggerPetstoreUPOpenAPI30
. The names of the
generated repository artefacts derive from the imported OpenAPI JSON file. A number
is appended to each business service, business service method, business method
arguments, integration objects and integration components depending on how often you
have imported a specific JSON file into Web Tools.
If the names can't be formatted into a standard Siebel naming standard, for example, if the name is too long or if it contains special characters, then the WSDL/JSON Import Wizard automatically generates these names. The original names are available in the Comments field, under the Business Service.
Business Methods
OperationId
value listed in the JSON file
becomes a business service method under the generated REST outbound proxy business
service. Business methods are named as follows: -
The verb under the path is appended to the
OperationId
value. In our sample JSON file, the OperationId isAddPet
andpost
is the verb of the path. The business service method is called:addPet:post
-
If the JSON file has no
OperationId
values, then the JSON file import removes all special characters from the path name and combines it with the required verb to create the business method name. -
If the path name is longer than the Siebel standard length, then the business method is named as follows:
Mth<serial number><business service>:<verb>
For example:Mth10SwaggerPetstoreUPOpenAPI30:get
Note: The serial number is between 1 and 999. It starts at 1, and is incremented by 1 for every method created.
Business Arguments
The JSON Import Wizard
generates method arguments in addition to the proxy business service in the
repository. In 3.0 JSON Specification, Request is moved out of the
parameters
and provided under requestBody
in
the JSON file . The parameters
listed under the
path
node in the JSON file become proxy business method
arguments. The method argument name derives from the name
property
only for the parameter. For requestBody
and
responses
in the JSON file, there are no names provided in the
JSON specification. For requestBody
the name is
body:body
and for Responses the name has prefix Res to response
code and suffixed with :res
. For example the name for response code
200 would be like Res200:res
. When you provide the input values for
business service method arguments, you can provide these in any order. JSON does not
require inputs to be in a specific order.
The following figure shows a file with 3.0 JSON specification:

Parameters listed in JSON files can be any of the following:
- Simple parameters. Integers, strings, boolean, and decimal number become simple method arguments with corresponding Siebel types.
- Complex parameters.
- Complex parameters can be with $ref references to definitions under components or without references in the JSON file having type as object or array, and can become integration objects.
- If there are simple or complex parameters as arrays, or complex parameters without a $ref reference, then these parameters also become integration objects.
- They are named by appending the new business service to the automatically generated integration object name.
- Complex parameters can be derived from JSON file under
parameters
,requestBody
, orresponses
in the JSON file. - If the complex parameters are derived from JSON file under
parameters
, then the naming convention for the integration objects would be likeArg<serial number><business service>:<in>
For example:
Arg4SwaggerPetstoreUPOpenAPI30:query
In this example, the
<in>
value specifies where this parameter is defined in the outbound call, such asquery
,header
,path
,formData
andcookie
. - If the complex parameters is derived from JSON file under
requestBody
, then the naming convention for the integration objects would be likeReq<serial number><business service>:body
For example
Req2SwaggerPetstoreUPOpenAPI30:body
- If the complex parameters are derived from JSON file under
responses
, then the naming convention for the integration objects would be likeRes<serial number><business service>:res
For example
Res2SwaggerPetstoreUPOpenAPI30:res
The following suffixes are used with business service method arguments:
- :path. This argument substitutes the path parameter for the
appropriate value.
For example, in the following URI:
In the business service method argument, the parameter/store/order/{orderId}
orderId
becomesorderId:path
. The value which the user provides at runtime replaces this path parameter. For example, if you provide the value 123456 fororderId:path
, then at runtime this is substituted for/store/order/123456
. - :query. This argument is passed as a query parameter in the URL.
- :header. This argument is passed as an header parameter in the request.
- :security. This argument is used as a security parameter where required in the request.
- :body. This argument is used as the request body.
- :res. This argument is used to map the response received from the host server.
- Security parameters. These parameters are appended with the suffix
security
, for example:username:security
. As of this release, there are two security parameters retained from earlier 20.8 release. They areusername:security
andpassword:security
. These two parameters are retained for backward compatibility with 20.8 release. These two parameters can aid in basic authentication only. For other security schemes/authentication requirement, use the Filter service. For more information, see Overview of the REST Outbound Filter Service.
username:security
and
password:security
arguments at runtime. From Siebel CRM 22.9
Update release, other authentication mechanisms are supported by way of Filter
Service and Filter methods using Request and Response Filter in the Application
Administration > Web Services > Outbound REST Services UI.Parameter Name | Value |
---|---|
type:security | Basic |
username:security | The user name for the external system |
password:security | The user’s password |
The following figure shows the Business Service Method Arguments
pane. This pane lists the method argument generated from a complex parameter:
Arg1SwaggerPetstoreUPOpenAPI30
. It also lists the method
arguments security parameters username:security
and
password:security
for backward compatibility with 20.8 upgrade
for basic authentication usage.

In the above figure, the method name is generated from
operationId
if provided in the JSON file like
<operationId>:<operation>
. For example, in the above
figure, the name findPetsByTags
is the operationId and
get
is the operation verb, therefore the method name generated
is findPetsByTags:get
after preprocessing the
operationId
string for any special characters and reducing the
length within 75 chars. If these conditions are not satisfied, then a method name
like Mth<serial number><business service>:<verb>
is
generated. For example:
Mth10SwaggerPetstoreUPOpenAPI30:get
.
In the above example,
for business service method argument, name is taken from the name
property under parameters
which is tags
and the
in
property which is query
. Hence the Business
Service Method Argument name is generated as tags:query
. As the
parameter is of type array
, an Integration Object is generated to
represent the data for this parameter at runtime. The Integration Object name is
generated like Arg<serial number><business service>:<in>
which then becomes Arg1SwaggerPetstoreUPOpenAPI30:query
in the
above example. The optional
column is checked for argument
Arg1SwaggerPetstoreUPOpenAPI30:query
, as the JSON file
specifies required
value as false
. So, at runtime,
when invoking this proxy Business Service, providing this argument is optional.