остальные + xop / двоичные данные, встроенные в ответ xml - PullRequest
0 голосов
/ 14 декабря 2010

Мне было поручено встроить двоичные данные (например, изображения, музыку, эскизы и т. Д.) В контейнер метаданных xml, чтобы опубликовать весь пакет через интерфейс REST.В настоящее время мы используем Джерси и весну в нашем проекте.Я действительно не хочу возвращаться к soap / wsdl (который, по-видимому, является ответом по умолчанию для каждой проблемы, связанной с ws) или к любому формату контейнера, например zip, просто чтобы получить эти данные по проводам, поэтому я некоторое время гуглялподходящее решение.

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

Мой вопрос : кто-нибудь может подсказать, как реализовать XOP + REST с помощью Jersey / spring?Я видел сообщения, которые подразумевают, что кто-то делал это раньше ...

С уважением,
Тим

Ответы [ 2 ]

0 голосов
/ 14 марта 2011

Я не уверен насчет Джерси, но CXF поддерживает XOP.Возможно, вы можете черпать вдохновение оттуда?

http://cxf.apache.org/docs/jax-rs-multiparts.html#JAX-RSMultiparts-XOPsupport

0 голосов
/ 14 декабря 2010

Зачем вам нужно встраивать двоичные данные в XML?Существует множество способов связать двоичные ресурсы с соответствующими метаданными, не пытаясь объединить их в одно представление.

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

Рассмотрите возможность получения XML-представления метаданных, содержащего ссылку на двоичный ресурс, как это делает Atom.Если вы хотите сначала извлечь двоичный файл, рассмотрите заголовки ссылок, чтобы указать на метаданные.Есть много лучших способов, чем пытаться вставить двоичные данные в XML.

...