Jump to content
Форум по продукции MOXA

MOXA iologik e1211 Http Method Not Allowed


Recommended Posts

Здравствуйте! Столкнулся с проблемой при изучении RESTful API прибора - при отправке HTTP PUT-запроса получаю ошибку 405 (Http Method Not Allowed).

Работал в соответствии с инструкцией (прилагается, отправка PUT на стр.90), с помощью Postman успешно отправил GET запрос, скопировал JSON из ответа и вставил в тело PUT-запроса.

В PUT-запросе есть два необходимых заголовка. Обращался к 192.168.127.254/api/slot/0/io/do

ioLogik_E1200_Series_UM_e14.3.pdf

Link to comment

Загрузил версию V3.0 Build17111512

Изменился формат JSON (теперь без отступов), но на отправку PUT-запроса все равно приходит 405 Method not allowed. На всякий случай приведу данные

 

Accept: vdn.dac.v1

Content-Type: application/json

URL: 192.168.127.254/api/slot/0/io/do

Тип запроса: PUT

Тело запроса: {
    "slot": 0,
    "io": {
        "do": [
            {
                "doIndex": 0,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 1,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 2,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 3,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 4,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 5,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 6,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 7,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 8,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 9,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 10,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 11,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 12,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 13,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 14,
                "doMode": 0,
                "doStatus": 0
            },
            {
                "doIndex": 15,
                "doMode": 0,
                "doStatus": 0
            }
        ]
    }
}

Link to comment

Предположу, что тут надо оперировать не с  192.168.127.254/api/slot/0/io/do , а с 192.168.127.254/api/slot/0/io/do/0/doStatus . Разница тут в том, что api/slot/0/io/di имеет тип read-write, а api/slot/0/io/do - read, поэтому метод PUT и не проходит.

Link to comment

Здравствуйте! Проблема решена.

Как и сказал, запросы я отправлял в соответствии с инструкцией, с помощью программы postman.

Когда я аналогичный запрос отправил из Java-программы, все сработало. Думаю это из-за заголовка "postman-token" (или как-то так), который добавляет Postman. 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...