Я создал клиент веб-службы для обработки мыльных веб-служб cxf с помощью apache camel.
String serviceUri = "cxf:http://localhost:10000/myservice?serviceClass=" +
MyRequest.class.getCanonicalName();
from(uri).to("mock:xyz");
Веб-служба получает вызов мыла, но выдает исключение, поскольку запрос требует обработки для wss.
org.apache.cxf.binding.soap.SoapFault: MustUnderstand headers: [{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood.
Причина в том, что сервис требует безопасности ws, в чем можно убедиться, взглянув на запрос.
<SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" SOAP-ENV:mustUnderstand="1">
Я обнаружил, что мне нужно реализовать перехватчик для обработки свойств заголовка.
Мои вопросы:
Как я могу добавить перехватчик для обработки атрибутов заголовка с помощью Camel Java-DSL?
Будет ли этого достаточно, чтобы избавиться от ошибки SOAP?