Отправка XML через HTTP простым, нейтральным способом - PullRequest
1 голос
/ 14 декабря 2009

У нас есть несколько автономных устройств, которые отправляют сообщения XML в произвольное программное обеспечение для обработки (может быть разработано нами, может быть сторонним) через HTTP. Сообщения относительно просты и будут соответствовать существующей схеме. Никакого конкретного ответа не требуется.

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

  1. Чтобы устройства были максимально простыми и не привязаны к какой-либо конкретной технологии, такой как SOAP (если это не выгодно).
  2. Чтобы максимально упростить использование сообщений. Например, я мог бы просто отправить XML по HTTP, но тогда получатель должен был бы вручную обработать сообщение (я думаю). Было бы здорово, если бы кто-нибудь мог использовать WSDL-подобные инструменты, чтобы легко создавать потребителей на любом языке.

Пожалуйста, помогите заполнить огромные пробелы в моем понимании ... и направьте меня в правильном направлении. Спасибо!

ОБНОВЛЕНИЕ: Я должен был сделать себя немного более ясным. Я не против использования каких-либо «технологий», я просто ищу совет, чтобы найти хороший баланс. Автономные устройства будут иметь очень ограниченные возможности, но их будет достаточно для отправки XML-сообщения по HTTP - я не хочу усложнять эти вещи больше, чем нужно.

Тогда я, конечно, могу просто потреблять и обрабатывать сообщения XML вручную ... но было бы здорово, если бы был способ генерировать этот код (способ, которым я могу генерировать код из WSDL). У меня есть .xsd, описывающий сами сообщения, ничего более.

Ответы [ 4 ]

2 голосов
/ 14 декабря 2009

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

Я бы стремился к архитектуре RESTful , поскольку сообщения представляют собой просто обычный XML, и есть библиотеки для передачи и потребления сообщений в стиле REST на различных языках. Обычно с REST вы можете работать быстрее, чем с сопоставимыми технологиями, такими как SOAP, но есть еще парадигмы для изучения.

Редактировать : Вы можете описать свой сервис, используя WADL , который описывает архитектуру RESTful и включает в себя любую соответствующую схему. Затем вы можете использовать инструмент WADL2Java или другой инструмент WADL для генерации заглушек конечных точек. Я думаю, что этот подход близок к тому, что вы хотите сделать, используя существующие схемы и не изменяя свой клиентский код. Вот пример файла WADL и немного информации о нем.

1 голос
/ 15 декабря 2009

Следуя приведенному выше комментарию о WADL, вы также можете попробовать WSDL 2.0 . Несмотря на то, что WSDL 2.0 пока не получил широкого распространения, он действительно поддерживает службы стиля REST. WSDL 2.0 поддерживается в Apache Axis2, который, я думаю, включает поддержку в своем инструменте WSDL2Java.

1 голос
/ 14 декабря 2009

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

Однако есть одна возможность:

Apache CXF имеет простую привязку XML-over-http.

Но это не создаст потребителей ни на одном языке. Для этого я действительно не могу предложить ничего, кроме SOAP или REST.

1 голос
/ 14 декабря 2009

Не могли бы вы программно сделать пост формы XML?

C # Сообщение о программной форме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...