Кто-либо может рекомендовать хорошую библиотеку открытого исходного кода Java для создания простого клиента веб-сервиса SOAP? Я ищу что-то с минимальными зависимостями и конфигурацией, которая будет работать в среде Java 5 SE. Обновление до Java 6 не является действительно опцией на этом проекте, и я предпочел бы избегать использования полного контейнера J2EE, если я могу избежать его. Я не должен публиковать и сервисы, только использовать.
Я в настоящее время использую Axis2, но я должен втянуть приблизительно 15 МБ дополнительных банок только для совершения простого вызова к веб-сервису без NoClassDefFoundError, и я ищу что-то с намного меньшим количеством чрезмерного увеличения размера.
Я также посмотрел на CXF, но я отказываюсь использовать его из-за, это - плотное соединение с Spring. Spring не является 100%-м недопустимым, но я избежал бы его, если это возможно.
Какие-либо предложения?
В Spring 3.0 они разделили большой spring.jar на модули, которые уменьшат размер.
Проверьте Spring Web Services
Недостатком будет то, что вам придется управлять зависимостями между множеством jar-файлов. Это может стать сложным, если вы не хотите вводить maven. Это было причиной (среди прочего, проблем с совместимостью), почему я все еще использую ось.
После некоторого исследования сырого SAAJ API ( https://saaj.dev. java.net/) - единственное, что я обнаружил, что более оптимизировано, чем библиотека Spring WS, построенная на ней. Проблема с SAAJ заключается в том, что его практически невозможно использовать, если вы не хотите использовать их чрезвычайно подробный API для создания полезной нагрузки XML вашего сообщения. Есть способы обойти это и использовать что-то вроде JAXB для генерации фактического содержимого сообщения, но это не очень чисто, и Spring WS, по сути, именно так.