Служба JAX-WS, определенная с использованием @WebService
и @WebMethod
, использует JAXB для превращения XML в объект Java. Для большинства случаев использования это здорово!Возможно ли получить доступ к необработанному XML-запросу в JAX-WS без использования @WebServiceProvider?
Однако мне нужно связать с каким-то унаследованным кодом, написанным с использованием Axis 1, который работает исключительно с объектами org.w3c.dom.Element
- другими словами, мне просто нужно просто преобразовать параметры прямо в XML, как только я их получу, что кажется ужасно неэффективным.
Поэтому я искал способ получения и возврата необработанного XML из службы JAX-WS, либо как строку, либо как объекты.
Я был в состоянии получить необходимые мне функции с помощью @WebServiceProvider
и реализации интерфейса Provider<Source>
, но это чувствует себя немного слишком низкого уровня за такие вещи я делаю - я не могу использовать @WebMethod
для легко настроить маршрутизацию; вместо этого я должен получить PATH_INFO
от WebServiceContext
и поиграть со строкой, чтобы получить необходимую мне информацию.
Итак, мой вопрос: есть ли способ использовать необработанный XML (эффективно вырезать JAXB) в сервисе JAX-WS без снижения до уровня @WebServiceProvider
?