Világhálós szolgáltatás gazdagépnév érvényesítésének viselkedési eltérése

Amikor Liberty kiszolgálón futtat világhálós szolgáltatásokat, a HTTPS URL címben megadott gazdagépnév alapértelmezésben érvényesítése kerül a tanúsítvánnyal, míg hagyományos WebSphere Application Server kiszolgálón nem. Ha a gazdagépnév érvénytelen, akkor a Liberty nem érvényes a következő kivételt dobja:

java.io.IOException: The https URL hostname does not match the Common Name (CN) on the server certificate in the client's truststore. Make sure the server certificate is correct, or to disable this check (NOT recommended for production) set the CXF client TLS configuration property disableCNCheck to true.

Ez a viselkedési eltérés azokra az ügyfélalkalmazásokra van hatással, amelyek a javax.xml.ws csomag által nyújtott Java API for XML Web Services (JAX-WS) technológiát használják. Ha a JAX-WS API-kra hivatkoznak, akkor a törekvés egyszer megjelölésre kerül.

Az ajánlott megoldás kiszolgálótanúsítvány létrehozása a helyes gazdagépnévvel. Alternatív megoldásként, személyre szabhatja az érvényesítési viselkedést a http.conduit.tlsClientParameters.disableCNCheck tulajdonság beállításával a JAX-WS ügyfélen, amely megköveteli a gazdagépnév érvényesítésének letiltását. Ezt úgy teheti meg, hogy hozzáadja a <webservices-bnd> alkalmazáskötést a server.xml fájlhoz, és ügyfelenként beállítja a tulajdonságot a <service-ref> elemmel, a következő példában látható módon:

<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>

A gazdagépnév érvényesítése le is tiltható a tulajdonságot az ibm-ws-bnd.xml fájl <service-ref> eleméhez hozzáadva, a következő példában látható módon:

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

A világhálós szolgáltatás ügyfél világhálós szolgáltatások hivatkozási konfigurációinak beállítására vonatkozó részletes információkat Liberty platformon, a következő információforrásra kattintva talál: