Пределы сообщений JAXB или StAX - PullRequest
1 голос
/ 27 октября 2008

Сейчас я занимаюсь разработкой WebService в среде Bea Websphere 6.1 с реализацией Axis 2, я стараюсь соблюдать текущие стандарты для Web-сервисов (JAXB, JAXWS, StAX ...).

Как долго может быть сообщение XML на этой платформе?

Я искал, но ничего не нашел по этой теме.

Ответы [ 2 ]

1 голос
/ 27 октября 2008

Не знаю много об ограничениях вашей платформы, но в целом нет жестких ограничений. Использование Axis со стандартным стеком SOAP возьмет конверт SOAP и создаст его представление в памяти (dom или dom like), что ограничит размер кучи. В случае использования очень больших XML-файлов лучшим способом было бы использовать STaX, который является библиотекой потокового анализатора XML. Это удалит все ограничения из размера XML, который вы можете использовать или создать.

0 голосов
/ 10 февраля 2009

Да, из-за того, как работают Jax-ws и SOAP, вся полезная нагрузка привязывается: либо к дереву (более высокое использование памяти), либо к POJO / бинам (немного меньшее использование памяти). В любом случае, использование памяти будет пропорционально размеру сообщения.

Хотя теоретически может быть возможно создать потоковый / чанкованный интерфейс для обработки Soap, его реализовать нетривиально, и в настоящее время ни один стек не делает этого.

...