Я использую одну службу, которая устанавливает соединение только по протоколу TLSv1.2. В SoapUI
-Dsoapui.https.protocols=TLSv1.2 :- Этот параметр работает нормально и может получить ответ от службы в инструменте пользовательского интерфейса SOAP.
Нужно что-то похожее на указанный выше параметр в потоке Mule ESB, который позволяет моему запросу явно использовать протокол TLSv1.2 во время проксирования.
Я использую Mule 3.7 CE и JDK 7. Поток сообщений использует прокси CXF (cxf: proxy-service) для направления запросов на основе SOAP через Https конечному клиенту. Когда запрос отправляется в Mule, он генерирует исключение, как показано ниже.
Caused by: org.apache.cxf.ws.policy.PolicyException: These policy alternatives can not be satisfied: {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}TransportBinding: TLS is not enabled {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}HttpsToken {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}TransportToken at org.apache.cxf.ws.policy.AssertionInfoMap.checkEffectivePolicy(AssertionInfoMap.java:179) ~[cxf-rt-ws-policy-2.7.15.jar:2.7.15]
Уже пробовал включить протокол через файл tls-default.conf, также добавление системных аргументов и аргументов сервера не сработало.
Вот фрагмент wsdl с использованием политики безопасности:
<wsp:Policy wsu:Id="XYSPolicyID">
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken RequireClientCertificate="false" />
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict />
</wsp:Policy>
</sp:Layout>
</wsp:Policy>
</sp:TransportBinding>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Любая помощь приветствуется !!