У меня есть проект Spring Boot, использующий CXF для создания веб-службы SOAP.Как заставить конечную точку JAX-WS принимать сообщения SOAP1.2
Отправка сообщений SOAP 1.1 (с использованием SOAPUI) работает нормально, но когда я пытаюсь отправить сообщение SOAP 1.2 (используя тот же WSDL, конечно), я получаю сообщение "A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint"
. Сообщение самообучающееся, но я не могу понять, почему моя конечная точка не принимает 1.2 сообщения.
My WSDL содержит правильные привязки и пространства имен для soap12.
В моем классе весной @Configuration я добавил это к конечной точке боба CXF:
endpoint.setBindingConfig(new BindingConfiguration()
{
@Override
public String getBindingId()
{
return SOAPBinding.SOAP12HTTP_MTOM_BINDING;
}
});
Это не помогло. Поскольку я стал более отчаянным, я попробовал как аннотации @BindingType
, так и @SOAPBinding
, которые, конечно же, не сработали, тогда я пробовал SaajSoapMessageFactory
с SoapVersion.SOAP_12
. Не работает. Я пробовал <extension>true</extension><protocol>Xsoap1.2</protocol>
в моем jaxws-maven-plugin
. Не смогли.
Конечная точка явно не настроена для приема сообщений SOAP 1.2. Как мне это достичь?
Это не было моей проблемой. Как я уже сказал в своем оригинальном посте, у меня есть правильные привязки и пространства имен для SOAP 1.2. Я также упомянул об использовании элемента расширения без успеха. Однако я сам решил эту проблему. См. Мой ответ. – Roger
Это хорошие новости. –