Business Console 10.7 | webMethods Business Console Documentation | Developing Gadgets for Business Console | Programming Gadgets | Invoking RESTful Services | Using Business Console Proxy for Invoking RESTful Services
 
Using Business Console Proxy for Invoking RESTful Services
In case the remote server cannot be configured to support CORS headers, Business Console provides a proxy service to route the request through the host My webMethods Server.
To use this option, you need to make a local RESTful POST call to My webMethods Server using /rest/bc/proxy URL. Provide the server options for fetching the data in the POST body. Provide data in a JSON format with escaped quotes.
$scope.restClient.url($scope.URLS.BC_PROXY)
//POINT TO THE RESTful SERVICE TO INVOKE
.serverAlias("MWS1")
// POINT TO THE SERVER ALIAS FROM THE GADGET CONFIGURATION
.remote(false)
// IF LOCAL OR REMOTE CALL
.method("POST")
.scope($scope)
.requestData(data)
//JSON Structure of the Request data. See below
.gadgetConfig(gadgetConfig)
.success(function(response,$scope){
$scope.responseData = response;
// HANDLE THE RESPONSE IN A SCOPE OBJECT
}).error(function(response,$scope,status, headers, config){
$scope.eventBus.fireEvent(NotificationConstants.ERROR,
"Unable to invoke RESTful service");
// HANDLE ANY ERROR IN INVOCATION
}).invoke();
Following are the example of different invocations
GET CALL TO IS
var data = { "serverType":"IS",
"url":"/rest/rs/monitor/process/model",
"requestMethod":"GET"
, "requestHeaders:{'key1':'value1','key2':'value2'}"
}
*POST call to Integration Server
var data = {"serverType":"IS",
"url":"/rest/rs/monitor/process/instanceSearch",
"host":"localhost",
"port":"5555",
"protocol":"http",
"requestMethod":"POST",
"data":"{\"instanceSearchQuery\":{\"processKey\":\"FeatureProject/Feature\",
\"pageNumber\":1,\"pageSize\":10,\"status\":\"2\",\"instanceId\":null,
\"customId\":null,\"businessConsoleRequest\":true}}"
"requestHeaders:{'key1':'value1','key2':'value2'}"
}
*GET call to remote My webMethods Server
var data = { "serverType":"MWS",
"url":"/rest/bc/userpreferences",
"host":"localhost",
"port":"8585",
"requestMethod":"GET",
"protocol":"http" (optional)
"requestHeaders:{'key1':'value1','key2':'value2'}"
}
*POST call to remote AgileApps Cloud
var data={
"serverType": "AA",
"url": "http://agileappsclound.info/networking/rest/login",
"requestMethod": "POST",
"data": "{\"platform\":{\"login\": {\"userName\":\"abc@softwareag.com\",
\"password\":\"test\"}}}"
}
*GET call to remote AgileApps Cloud
var data={
"serverType": "AA",
"url": "http://agileappsclound.info/networking/rest/user/info",
"requestMethod": "GET"
}