2010-03-14 7 views
1

Я написал веб-сервис RESTful с использованием API JAX-RS, который возвращает строку XML.Как передать очень длинную строку/файл в RESTWebservice JAX-RS Jersey

Я пытаюсь написать еще один веб-сервис RESTful, который принимает эту XML-строку, обрабатывает ее с помощью DOM и извлекает конкретные вещи, которые я хочу. Строка XML бывает очень длинной, поэтому я не хочу передавать ее как @QueryParam или @PathParam.

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

Не мог бы кто-нибудь пролить свет на то, как я должен это делать.

Заранее спасибо

+0

Вы видели этот родственный вопрос? http://stackoverflow.com/questions/25556982/jax-rs-upload-file-without-jersey Вы решили? –

ответ

1

Sashikiran,

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

Итак, пока вы читаете поток из службы A, вы можете извлечь все, что вам нужно, и написать это для обслуживания B через запрос POST.

Почему вы DOM-синтаксический анализ XML? Парсер SAX или StAX кажется более подходящим из XML, действительно очень длинный.

Jan

+0

Спасибо, Ян. Хорошо, что раньше я использовал DOM, поэтому использовал его, не вызывал особых причин. Но слышал, что он не очень хорош в производительности по сравнению с SAX или парсером StaX. Постараюсь использовать их. –

+0

У меня этот точный пример использования. В моем настольном приложении хранятся все собранные данные в памяти как XML, и мой пользовательский интерфейс читает этот XML. У меня есть веб-служба, которая собирает это, чтобы отображаться в пользовательском интерфейсе, и нужно иногда брать XML-файл размером ~ 10 КБ из-за рубежа – Yablargo

 Смежные вопросы

  • Нет связанных вопросов^_^