503-сервис недоступен в Salesforce - PullRequest
0 голосов
/ 07 мая 2018

Моя цель - создать интеграцию API REST из Salesforce в приложение SAP.

УСПЕХ через приложение Chrome

1. Все, что мне нужно сделать, это получить значения из sap-приложения через REST API. Когда я попытался использовать Chrome APP «Advanced Rest Client» и передал соответствующий URL и контент методом POST, я смог получить значения из базы данных локального сервера.

Для EG: если я передам запрос 92126, я смог получить ответ 'SAN DIEGO', который является правильным.

Вот ссылка (https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?hl=en-US) для Advanced REST Client.

ПРОБЛЕМА от Salesforce:

  1. Я создал настройку удаленного сайта
  2. Когда я создал этот класс REST в SAlesforce и попытался вызвать конечную точку, он выдает эту ошибку.

System.HttpResponse [Статус = Сервис недоступен, Код состояния = 503]

Поскольку предоставленный нам URL-адрес веб-API находится на локальном сервере sql, т.е. размещен на приватном сервере, как мы знаем в Salesforce для выполнения обратных вызовов, URL-адреса должны быть открытыми. Но URL-адрес является приватным только по соображениям безопасности, а не для публичного размещения. Мы должны достичь этого, есть ли способ достичь этого? Какие изменения должны быть сделаны в Salesforce или на сервере, чтобы общаться друг с другом, и позволяет сделать выноску?

1 Ответ

0 голосов
/ 07 мая 2018

Скорее всего, ваша конечная точка не разрешает доступ извне некоторого диапазона IP-адресов, который вы указали, говоря, что он не является общедоступным. Salesforce - это SaaS-приложение, размещенное вне домена, в котором работает ваша служба. Для того чтобы Salesforce получил доступ к этому ресурсу конечной точки, вам нужно добавить в белый список диапазоны IP-адресов Salesforce, которые можно найти здесь .

Белый список позволяет Salesforce получить доступ к ресурсу. Единственное предостережение состоит в том, что, поскольку Salesforce является мультитенантным, это означает, что любой экземпляр Salesforce в диапазоне, который вы включаете в белый список, будет иметь доступ к вашей конечной точке. Если это не так, вы можете добавить какой-либо заголовок или подписать запрос к вызову, который уникально идентифицирует ваш экземпляр Salesforce из любого другого экземпляра, чтобы проверить, что вызов произошел из вашей организации Salesforce.

(я ссылаюсь на статью, а не вставляю диапазоны IP здесь, потому что они могут измениться в будущем).

...