Документооборот с контрагентами

Появилась ошибка «Не найден метод», HTTP 404 «Not found»

Появилась ошибка «Не найден метод», HTTP 404 «Not found»

На вызов метода с названием «XXX» с сервера СБИС вернулась фатальная HTTP-ошибка 404 «Not found». В расширенной части есть сообщение «Не найден метод XXX».

Причина №1. В запросе указан несуществующий метод или в имени запроса допущена опечатка

  1. Проверьте указанное в запросе название метода. Если допущена опечатка исправьте ее.
  2. Убедитесь, что указанный метод есть в списке доступных команд API. Если метода нет, откажитесь от использования несуществующего метода.

Пример ответа на вызов несуществующего метода «СБИС.СписокПолномочий»

HTTP/1.1 404 Not Found
Server: nginx/1.4.4
Date: Fri, 11 Apr 2014 09:48:04 GMT
Content-Type: application/json; charset=windows-1251
Content-Length: 513
Connection: keep-alive
Keep-Alive: timeout=30
Access-Control-Allow-Headers: Accept, Content-type
Access-Control-Allow-Origin: *
Set-Cookie: sid=00052820-00052821-00ba-78030bc0254d49c9; path=/; expires=Thu, 11-Apr-2024 09:48:04 GMT
X-SBISSessionID: 00052820-00052821-00ba-78030bc0254d49c9
Cache-Control: must-revalidate, max-age=0
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "Не найден метод СБИС.СписокПолномочий",
    "details": "Не найден метод СБИС.СписокПолномочий",
    "type": "error",
    "data": {
      "classid": "{1b4dbb13-ce61-483f-b1dd-03558672d15a}",
      "addinfo": null
    }
  },
  "id": 0
}

Причина №2. Кодировка в HTTP-заголовке запроса отличается от кодировки самого запроса

Исправьте кодировку на правильную.

Пример неверного запроса

Ошибка в указании кодировки UTF-8. В JSON-части запроса используется кодировка Win-1251. По тексту запроса это невозможно определить.

POST https://online.sbis.ru/service/?srv=1 HTTP/1.1
Content-Type: application/json; charset= utf-8
Accept: */*, application/json-rpcD
X-SBISSessionID: 0005281a-0005281b-00ba-3beb110a20594e21
{
  "jsonrpc": "2.0",
  "method": "СБИС.СписокСлужебныхЭтапов",
  "params": {
    "Фильтр": {}
  },
  "id": 0
}

Пример ответа

HTTP/1.1 404 Not Found
Server: nginx/1.2.0
Content-Type: application/json; charset= utf-8
Content-Length: 240
X-SBISSessionID: 00001d8c-00001d8c-00ba-d297d42835bc46de
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "",
    "details": "Не найден метод Р’Р.РџРѕРучитьСостояниеВнешнегоРнтерфейса",
    "data": {
      "classid": "{1b4dbb13-ce61-483f-b1dd-03558672d15a}",
      "addinfo": null
    }
  },
  "id": 0
}

Причина №3. Неверный адрес в заголовке запроса

Некоторые методы требуют указания специфичного адреса. Укажите правильный адрес запроса.

Пример ответа на вызов метода «СБИС.СписокИзменений»

В примере указан неправильный адрес сервера —https://online.sbis.ru/auth/service/ вместо https://online.sbis.ru/service/?srv=1.

HTTP/1.1 404 Not Found
Server: nginx/1.4.4
Date: Fri, 11 Apr 2014 09:45:16 GMT
Content-Type: application/json; charset=windows-1251
Content-Length: 513
Connection: keep-alive
Keep-Alive: timeout=30
Set-Cookie: sid=00052820-00052821-00ba-1f333ebddb6a4b3a; path=/; expires=Thu, 11-Apr-2024 09:45:16 GMT
X-SBISSessionID: 00052820-00052821-00ba-1f333ebddb6a4b3a
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Accept, Content-type
X-ExceptionType: error
X-Powered-By: ASP.NET
Cache-Control: must-revalidate, max-age=0
X-Dispatch: osr-dispatch1(online.sbis.ru)
X-Path: 10.76.100.193:80 404;
X-Server: Microsoft-IIS/7.5
X-QACheck: true
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "Не найден метод СБИС.СписокИзменений",
    "details": "Не найден метод СБИС.СписокИзменений",
    "type": "error",
    "data": {
      "classid": "{1b4dbb13-ce61-483f-b1dd-03558672d15a}",
      "addinfo": null
    }
  },
  "id": 0
}