You need to sign in to do that
Don't have an account?
Robert Baillie 5
Cannot create and configure Remote Site Settings via the Tooling API
As part of an automated sandbox refresh and re-configure process we would like to be able to set up Remote Site Settings via the API.
This appears to be published as the RemoteProxy object.
The theory is that our script will disable the existing settings, and create replacements fully configured. It appears that we need to do this as we cannot update the existing settings.
Unfortunately it doesn't look like we can set everything up.
If we pass through everything we want to set on a create message we get:
This appears to be published as the RemoteProxy object.
The theory is that our script will disable the existing settings, and create replacements fully configured. It appears that we need to do this as we cannot update the existing settings.
Unfortunately it doesn't look like we can set everything up.
If we pass through everything we want to set on a create message we get:
FIELD_INTEGRITY_EXCEPTION: Only the Metadata and FullName fields may be specified on RemoteProxy, or else Metadata must be excluded. Invalid field(s): [ProtocolMismatch, SiteName, IsActive, EndpointUrl]] name: 'FIELD_INTEGRITY_EXCEPTION', errorCode: 'FIELD_INTEGRITY_EXCEPTION', fields: [ 'ProtocolMismatch', 'SiteName', 'IsActive', 'EndpointUrl' ]If we omit the Metadata field (as the message implies we should we get:
Adding Remote Site Setting: AWS { [REQUIRED_FIELD_MISSING: You must provide a valid Metadata field for RemoteProxy] name: 'REQUIRED_FIELD_MISSING', errorCode: 'REQUIRED_FIELD_MISSING', fields: [] }Does anyone know how we might set-up the Remote Site Settings via the API?
{
"FullName":"test",
"Metadata":{
"disableProtocolSecurity":false,
"isActive":true,
"url":"https://test.test.test",
"urls":null,
"description":"test"
}
}
Sample code snippet:
/**************************************************************************************************************/
String json ='{"FullName":"test","Metadata":{"disableProtocolSecurity":false,"isActive":true,"url":"https://test.test.test","urls":null,"description":"test"}}';
String endpoint = URL.getSalesforceBaseUrl().toExternalForm()+'/services/data/v41.0/tooling/sobjects/RemoteProxy/';
string method = 'POST';
HttpRequest request = new HttpRequest();
request.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionID());
request.setHeader('Content-Type', 'application/json');
request.setEndpoint(endpoint);
request.setMethod(method);
request.setBody(json);
Http http = new Http();
HttpResponse response = http.send(request);
System.Debug('**** Remote Site Response: ' + response.getBody());
/******************************************************************************************************/
How can i make the "url" parameter inside the json string as dynamic?
i need "URL.getSalesforceBaseUrl().toExternalForm() " to be the value of url parameter based on respective org.
Regards,
Sashi
Thanks
Playground is a Salesforce online community to share solutions free of cost that can be used by anyone & with one-click deploy technology, it gives hassle-free experience to test these solutions quickly. Check this out at https://playg.app to see existing/upload your solutions