Задать вопрос
d43
@d43

Почему не получается имитировать SOAP запрос винды к серверу Microsoft?

Когда пользователь подключает новое устройство, Windows запрашивает данные об этом устройстве с сервера Microsoft (а именно metaservices.microsoft.com). Один из таких запросов и ответ на него.

Моя задача: повторить этот запрос своими средствами и со своими данными. Но пока что на все мои попытки (например, в Chrome REST Client) сервер отвечает HTTP 400 Bad Request несмотря на то, что я выставил все те же самые заголовки и payload.

Запрос с ответом я выудил с помощью программы Fiddler и в ней его можно без каких-либо проблем повторить (см. сохраненную сессию Fiddler).

Другими словами: при повторной отправке виндового запроса из Fiddler сервер выдает нужные мне данные, однако при отправке аналогичного запроса из любой другой программы/скрипта, сервер отвечает HTTP 400 Bad Request.
Fiddler-SOAP.jpg

То есть я что-то упускаю при формировании запроса. Вероятно, это что-то простое, потому что у меня нет опыта работы с SOAP API. Буду благодарен за любые советы по делу.

Если у вас есть пять минут времени и программа Fiddler, вы можете воспроизвести запрос из сохраненной сессии (нужно выделить запрос и нажать кнопку "Replay").
  • Вопрос задан
  • 3054 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@verwolfdotss
Я попробовал послать через rest клиент intellij idea 13.
Сначала я ловил такие же 400е. Я сразу заподозрил что проблема в кодировке utf-16le. Моя идея была в том, что на самом деле данные отсылаются в другой кодировке несмотря на Content-Type. Тогда я сохранил ваш запрос в файл в utf-16le и сказал идее брать реквест оттуда. И я сразу же получил валидный респонс. Надеюсь вам это как то поможет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы