Using the Developer Workspace Parameter to Preview Changes to a Business Service Without Compiling to the Repository
You can preview or inspect changes to a business object in a developer workspace branch before you deliver these changes to the Main workspace. You can achieve this with the help of the developer workspace parameter: workspace&version. For more information about the developer workspace parameter, see About URI Parameters.
You must add a responsibility to Siebel Runtime Metadata Publisher Service in the Business Service Access List View for Workspace Inspect. Workspace Inspect uses this business service internally, and this responsibility is needed for Workspace Inspect to work correctly. For more information about associating a Business Service with a responsibility, see Configuring Business Service Methods for REST Access and Siebel Security Guide.
The following example demonstrates previewing workspace changes without actually delivering the workspace. It uses the Siebel CRM Business Service Siebel Account, and QueryById method.
First, the standard Siebel Business Service method argument SiebelMessage points to the integration object (and output argument): Account Interface. When this method is called through REST API, the received output is: Account Interface IO.
Next, you create a workspace in Web Tools. In this example we use: dev_sadmin_mytestws. You must update the Siebel Business Service method argument SiebelMessage to a different integration object, in this example: Account IO. Version the workspace, creating the workspace: version 1.
-
workspace=dev_sadmin_mytestws&version=1
-
URI:
https://ServerName:port/siebel/v1.0/service/Siebel Account/QueryById?uniformresponse=y&workspace=dev_sadmin_mytestws&version=1
-
HTTP Method: POST
-
Content Type: application/json
-
Authorization: : Basic
-
Request body:
{ "body":{ "PrimaryRowId":"1-63Q9" } }
Here are the partial response details for a successful request, you'll see that the output integration object is Account IO:
-
HTTP Code: 200
-
Content Type: application/json
-
Response body:
{
"SiebelMessage": {
"IntObjectFormat": "Siebel Hierarchical",
"MessageId": "",
"IntObjectName": "Account IO",
"MessageType": "Integration Object",
"Account": [
{
"Location": "HQ-Distribution",
"PO Approved Flag": "",
"Home Page": "3COM.com",
"Domestic Ultimate DUNS": "",
"Assignment Area Code": "",
"Name": "3Com",
"PO Auto Approval Limit": "",
"Parent Account Location": "",
"Type": "Customer",
"Parent Account Name": "",
"Integration Id": "",
"Price List Id": "",
"DUNS Number": "",
"Partner Flag": "N",
"Parent Account Integration Id": "",
"Credit Status Date": "",
"Main Fax Number": "6505551212",
"Primary Organization": "Millennium Institutional Finance Services IF ENU",
"Parent Account Id": "",
"PO Auto Approval Date": "",
"Price List": "",
"VAT registration number": "",
"Account Status": "Active",
"Global Ultimate DUNS": "",
"Skip Credit Check": "N",
"Alias": "",
"Main Phone Number": "6505551212",
"Assignment Country Code": "",
"Expertise": "",
"Credit Auto Approval Limit": "0",
"Currency Code": "USD",
"Parent HQ DUNS": "",
"PO Auto Approval Currency Code": "",
"Price List Integration Id": ""
}
]
}
}
Next, in Web Tools, update the Siebel Business Service method argument SiebelMessage with a different integration object. This time with the name: Account_EMR. Version the workspace, creating the workspace: version 2.
-
workspace=dev_sadmin_mytestws&version=2
-
URI:
https://ServerName:port/siebel/v1.0/service/Siebel Account/QueryById?uniformresponse=y&workspace=dev_sadmin_mytestws&version=2
-
HTTP Method: POST
-
Content Type: application/json
-
Authorization: : Basic
Here are the partial response details for a successful request, where the output integration object is Account_EMR:
-
HTTP Code: 200
-
Content Type: application/json
-
Response body:
{ "SiebelMessage": { "IntObjectFormat": "Siebel Hierarchical", "MessageId": "", "IntObjectName": "Account_EMR", "MessageType": "Integration Object", "Account": [ { "Account Status": "Active", "Parent Account Integration Id": "", "Parent Account Id": "", "Alias": "", "Account Id": "1-63Q9", "Name": "3Com", "Location": "HQ-Distribution", "Currency Code": "USD", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Integration Id": "", "Parent Account Name": "", "Parent Account Location": "", "Related Contact": [ { "Contact Id": "88-23SUX", "First Name": "Selfservice", "Contact Integration Id": "", "Middle Name": "", "Last Name": "Merchant", "Primary Organization": "Comms-Media Default Organization (COM ENU)", "Person UId": "88-23SUX" ] } ] } }
param
&version=<version_number>
query, then REST works
only on the latest version in that workspace.