none
Не удается получить результат REST запроса через рабочий процесс. RRS feed

  • Вопрос

  • Всем привет. Имеется следующая проблема, при REST запросе -

    http://rupappsps01/sites/edms/commercial/_api/web/lists/getbytitle('Commercial%20Team%20responsibilities')/items?$select=Client

    В ResponseContent получаю следующее сообщение - {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"ru-RU","value":"Доступ запрещен. У вас нет разрешений на выполнение этого действия или на доступ к этому ресурсу."}}}

    Теперь детали. Запрос идет из рабочего процесса для списка с сайта A на сайт B, в одной коллекции сайтов. Этот запрос я могу спокойно выполнить через браузер, а так же через Fiddler используя Composer.

    Как бороться и в чем причины?

    Спасибо.

    9 сентября 2013 г. 8:19

Ответы

Все ответы

  • Здесь - http://office.microsoft.com/en-us/help/sharepoint-server-2013-known-issues-HA102919021.aspx есть похожее описание

    Calling HTTP web service fails when calling non-SharePoint HTTP (REST) web service from SharePoint workflow

    When a workflow developer writes a workflow that calls non-SharePoint HTTP (REST) web service from SharePoint workflow, “Authorization: Bearer” is added to HTTP header by default, which may sometimes result in “401 Unauthorized" error response.

    Workaround    A workflow developer explicitly needs to have “Authorization” field set with empty string (“”) in a “RequestHeader” property of “Call HTTP Web Service” action. This will result in suppressing the bearer authorization header for this HTTP request.

    Добавил Authorization с пустой строкой В итоге во время выполнения РП возникает ошибка

    Повторяется последний запрос. Следующая попытка будет выполнена менее чем через одну минуту. Сведения о последнем запросе: HTTP InternalServerError для http://rupappsps01/sites/edms/cas/_vti_bin/client.svc/web/lists(guid'842ad5a6-5f17-4def-847f-c3d7216d7ecc')/Items; идентификатор взаимосвязи: 5101693b-85f4-4dce-9485-59b845e01cce; идентификатор экземпляра: 589541bc-8e62-4efb-95e1-cc0357d29e88.

     В ULS ничего конкретного нет. Добавил для Autorization строку Bearer теперь РП выполняется без ошибки, но в ResponseContent пусто :(

    9 сентября 2013 г. 19:51
  • Переделал РП с нуля, добавил Authorization как первый параметр в RequestHeaders и все заработало.
    • Помечено в качестве ответа Dmitri Manushin 10 сентября 2013 г. 10:53
    10 сентября 2013 г. 10:53