Gdy usługi WWW są uruchamiane na serwerze Liberty, poprawność nazwy hosta podanej w adresie URL HTTPS jest domyślnie sprawdzana za pomocą certyfikatu. Natomiast na serwerze WebSphere Application Server traditional tak się nie dzieje. Jeśli nazwa hosta nie jest poprawna, serwer Liberty zgłasza następujący wyjątek:
java.io.IOException: Nazwa hosta w adresie URL HTTPS nie jest zgodna z nazwą
zwykłą (CN) w certyfikacie serwera w magazynie zaufanych certyfikatów klienta. Upewnij się, że certyfikat serwera jest poprawny, lub aby wyłączyć to sprawdzenie (NIEZALECANE w środowisku produkcyjnym), ustaw właściwość konfiguracyjną TLS klienta CXF
disableCNCheck
na wartość.
Ta różnica w zachowaniu wpływa na aplikacje klienckie, które używają interfejsu Java API for XML Web Services (JAX-WS)
udostępnianego przez pakiet javax.xml.ws. Jeśli są przywoływane interfejsy API JAX-WS, projekt jest oznaczany jeden raz.
Zalecanym rozwiązaniem jest utworzenie certyfikatu serwera z poprawną nazwą hosta. Sprawdzanie poprawności można również zmodyfikować, ustawiając właściwość http.conduit.tlsClientParameters.disableCNCheck w klientach JAX-WS, które wymagają wyłączenia sprawdzania poprawności nazwy hosta. Można to zrobić, dodając powiązanie aplikacji <webservices-bnd> w pliku server.xml i ustawiając właściwość dla każdego klienta z osobna za pomocą elementu <service-ref> w sposób przedstawiony w poniższym przykładzie:
<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>
Sprawdzanie poprawności nazwy hosta można również wyłączyć, dodając właściwość do elementu <service-ref> pliku ibm-ws-bnd.xml w sposób przedstawiony w poniższym przykładzie:
<service-ref name="service/SimpleEchoService">
<port name="SimpleEchoPort">
<properties vendor="IBM"/>
</port>
<properties http.conduit.tlsClientParameters.disableCNCheck="true"/>
</service-ref>
Szczegółowe informacje o konfigurowaniu odwołań do usług WWW dla klientów usług WWW na serwerze Liberty zawiera następujący zasób: