Отличается процедура проверки имени хоста веб-службы

В Liberty имя хоста веб-службы, указанное в URL HTTPS, по умолчанию проверяется по сертификату, тогда как в WebSphere Application Server traditional нет. Если имя хоста недопустимое, на сервере Liberty возникает следующая исключительная ситуация:

java.io.IOException: имя хоста URL HTTPS не соответствует общему имени сертификата сервера в хранилище доверенных сертификатов клиента. Убедитесь, что сертификат сервера правильный, или выключите данную проверку (не рекомендуется в рабочей среде), указав в свойстве конфигурации TLS клиента CXF disableCNCheck значение true.

Это отличие в поведении влияет на приложения-клиенты, использующие JAX-WS из пакета javax.xml.ws. Если есть ссылки на API JAX-WS, то проект помечается один раз.

Рекомендуемое решение - создать сертификат сервера с правильным именем хоста. Также можно настроить функцию проверки, указав свойство http.conduit.tlsClientParameters.disableCNCheck на клиентах JAX-WS, для которых необходимо выключить проверку хоста. Это можно сделать путем добавления привязки приложения <webservices-bnd> в файл server.xml и настройки свойства индивидуально для каждого клиента с помощью элемента <service-ref> (см. следующий пример).

<enterpriseApplication id="SimpleEcho" name="SimpleEcho"  location="SimpleEcho.ear">
  <webservices-bnd moduleName="SimpleEcho">
    <service-ref name="service/SimpleEchoService">
      <port name="SimpleEchoPort">
        <properties vendor="IBM"/>
      </port>
      <properties http.conduit.tlsClientParameters.disableCNCheck="true"/>
    </service-ref>      
  </webservices-bnd>
</enterpriseApplication>

Проверку хоста также можно выключить, добавив свойство в элемент <service-ref> файла ibm-ws-bnd.xml (см. следующий пример).

<service-ref name="service/SimpleEchoService">
  <port name="SimpleEchoPort">
    <properties vendor="IBM"/>
  </port>
  <properties http.conduit.tlsClientParameters.disableCNCheck="true"/>
</service-ref>

Дополнительную информацию о настройке конфигураций ссылок на веб-службы для клиентов веб-служб в Liberty можно найти в следующем источнике: