SOAP, HTTP (S) POST. XML и схема беспорядок - PullRequest
0 голосов
/ 02 октября 2009

Я очень смущен. У меня есть файл xsd, нет wsdl и, очевидно, я посылаю эти данные через SOAP. Теперь, глядя на все, я вернулся и заметил это

(используя ssl) Начнется очередной сеанс с HTTP-запросом POST, отправленным клиент. Тело запроса содержит документ XML, совместимый с SOME_API Схема запроса

Итак ... я вообще не использую SOAP? Должен ли я что-то сделать с файлом схемы, который мне предоставляют? Никто здесь (на работе), кажется, не знает.

Ответы [ 4 ]

1 голос
/ 17 октября 2013

Просто отправьте HTTP POST с XML, который соответствует схеме. Вы можете либо прочитать схему вручную (что может быть сложно), либо использовать редактор XML, как предлагает Том, но есть и другая возможность: многие платформы предлагают инструменты, которые автоматически генерируют классы из схемы XSD, которые впоследствии можно автоматически сериализовать, чтобы получить правильный XML.

Например, если вы используете .NET: используйте инструмент xsd.exe для генерации классов из схемы, затем просто заполните их информацией как обычные классы, а затем используйте XmlSerializer для преобразования корневого класса в XML.

1 голос
/ 02 октября 2009

Вы должны начать с чтения Http сделано очень просто . Soap использует http для отправки своих сообщений от клиента к серверу, и когда в документе, о котором вы говорите, вас попросят отправить сообщение на мыльный сервер по протоколу HTTP. Немного прибегнув к поиску, вы найдете несколько хороших руководств по началу работы с мылом.

Отправляемое сообщение является XML-документом, использующим эту схему. Схема определяет допустимые типы XML. Получите хороший XML-редактор, такой как oxygen , и скажите, что вы создаете новый XML-документ, используя схему (укажите на свой файл xsd), и посмотрите, что вам разрешено печатать.

Мой поиск нашел эти два:

0 голосов
/ 03 октября 2009

Вы узнаете, почему следует соблюдать стандарты.

Если это действительно веб-служба на основе SOAP, то должен существовать WSDL. В этом нет исключения. WSDL предназначен для описания всего, что вам нужно знать о веб-сервисе. Я настоятельно рекомендую вам спросить разработчиков веб-службы, является ли она веб-службой SOAP, и попросить их предоставить WSDL или объяснить, почему, по их мнению, они не должны этого делать.

0 голосов
/ 02 октября 2009

Судя по вашему описанию, похоже, что это вовсе не SOAP API, а скорее что-то вроде XML-RPC.

Просто отправьте HTTP POST с XML, который соответствует схеме. Вы можете либо прочитать схему вручную (что может быть сложно), либо использовать редактор XML, как предлагает Том, но есть и другая возможность: многие платформы предлагают инструменты, которые автоматически генерируют классы из схемы XSD, которые впоследствии можно автоматически сериализовать, чтобы получить правильный XML.

Например, если вы используете .NET: используйте инструмент xsd.exe для генерации классов из схемы, затем просто заполните их информацией как обычные классы, а затем используйте XmlSerializer для преобразования корневого класса в XML.

...