Вопрос, поднятый в данной теме, касается правильности примера запроса для метода ListDomains в Amazon SimpleDB, который включает в себя элементы Signature, Timestamp, AWSAccessKeyId и Version. Эти элементы не отображаются в определении ListDomains в WSDL. Поддержка AWS утверждает, что такое разделение является частью дизайна и представляет более чистый подход, который лучше соответствует долгосрочной модели "SOAP с WS-Security".
Описание проблемы
Пример запроса для метода ListDomains в документации SimpleDB содержит элементы Signature, Timestamp, AWSAccessKeyId и Version, которые не указаны в определении ListDomains в WSDL. Это вызывает путаницу при попытке импортирования WSDL в Delphi, так как не генерируется код для элементов авторизации.
Контекст для написания статьи
Оригинальный запрос и его структура.
Определение ListDomains в WSDL.
Комментарии AWS о дизайне WSDL.
Возможность ручного добавления элементов авторизации в Delphi или WSDL.
Подтвержденный ответ
На основе предоставленной информации, элементы авторизации действительно не являются частью WSDL, что может показаться нелогичным. Документация Amazon указывает на необходимость предоставления этих данных в SOAP заголовке, однако в примере они размещены в элементе SOAP-ENV:Body.
Альтернативный ответ
Существует возможность ручной правки WSDL, чтобы добавить элементы авторизации. Однако это может потребовать повторного применения изменений при обновлении WSDL. В сообществе разработчиков AWS уже были подобные проблемы, и некоторые пользователи предлагали "взломанные" версии WSDL. Возможно, существует более элегантное решение, которое не потребует постоянного обновления кода при изменении WSDL.
Пример решения на Object Pascal (Delphi)
Для решения проблемы с авторизацией в запросах к Amazon SimpleDB, можно использовать следующий подход в Delphi:
В данном примере кода создается клиент для отправки запросов к Amazon SimpleDB, который включает необходимые элементы авторизации в теле запроса, а также добавляет соответствующие заголовки для авторизации.
Заключение
Правильный запрос для метода ListDomains включает в себя не только элементы, определенные в WSDL, но и элементы авторизации, которые должны быть добавлены вручную. Это может потребовать от разработчика знания о формировании SOAP-запросов и работе с WSDL вручную, а также понимания процесса авторизации в Amazon AWS.
Вопрос связан с технической детализацией использования метода `ListDomains` в Amazon SimpleDB, включая валидацию с использованием WSDL и элементы авторизации, что может вызвать затруднения при попытке интеграции с некоторыми разработческими инс
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.