Ao executar serviços da web no Liberty, o nome do host especificado na URL HTTPS é validado com o certificado por padrão, enquanto no WebSphere Application Server tradicional não é. Se o nome do host não for válido, o servidor Liberty lançará a exceção a seguir:
java.io.IOException: O nome do host da URL https não corresponde
ao Nome Comum (CN) no certificado do servidor no armazenamento confiável do cliente. Certifique-se de que o certificado do servidor esteja correto ou para desativar
esta verificação (NÃO recomendado para produção) configure a propriedade de configuração do TLS do cliente do CXF
disableCNCheck
como true.
Essa diferença de comportamento afeta os aplicativos clientes que usam o Java API for XML Web Services (JAX-WS),
que é fornecido pelo pacote javax.xml.ws. Se as APIs JAX-WS forem referenciadas, o projeto será sinalizado uma vez.
A solução recomendada é criar um certificado do servidor com o nome do host correto. Como alternativa, é possível customizar o
comportamento de validação, configurando a propriedade http.conduit.tlsClientParameters.disableCNCheck em clientes do JAX-WS que
requerem a desativação da validação do nome do host. Isso pode ser feito incluindo a ligação de aplicativos <webservices-bnd>
no arquivo server.xml e configurando a propriedade em uma base por cliente com o elemento <service-ref>
como visto no exemplo a seguir:
<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>
⮀ͦt;/enterpriseApplication>
A validação do nome do host também pode ser desativada incluindo a propriedade no elemento <service-ref> do arquivo ibm-ws-bnd.xml, como
visto no exemplo a seguir:
<service-ref name="service/SimpleEchoService">
<port name="SimpleEchoPort">
<properties vendor="IBM"/>
</port>
<properties http.conduit.tlsClientParameters.disableCNCheck="true"/>
</service-ref>
Para obter informações detalhadas sobre como configurar as configurações de referência de serviços da web para um cliente de serviços da web no Liberty, consulte o recurso a seguir: