Si el "cn" del certificado de servidor de servicios web no coincide con su nombre de host, obtendrá: com.sun.xml.ws.client.ClientTransportException: HTTP error de transporte: java.io.IOException: HTTPS equivocado nombre de host: debe ser <mysite.com>
Se puede implementar su propio javax.net.ssl.HostnameVerifier para suprimirlo. Importante, no olvide quitar los códigos para la producción!
javax.net.ssl.HostnameVerifier importación; javax.net.ssl.SSLSession importación; TestHostnameVerifier clase pública implementa HostnameVerifier { public boolean verificar (arg0, SSLSession arg1) { return true; } } En el código de cliente:
// Asegúrese de que java.protocol.handler.pkgs está ajustado a "javax.net.ssl" //System.setProperty ( "Java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); . setProperty ( "java.protocol.handler.pkgs", "javax.net.ssl"); . addProvider (. com sol nueva red interna ssl ssl ().....); servicio HelloService = new HelloService (); HelloPort de proxy = servicio. getHelloPort (); Map <String, Object> ctxt = ((BindingProvider) proxy). getRequestContext (); ctxt. (puesto JAXWSProperties HTTP_CLIENT_STREAMING_CHUNK_SIZE, 8192.); ctxt. puesto (BindingProvider ENDPOINT_ADDRESS_PROPERTY ".); ctxt. puesto (. JAXWSProperties HOSTNAME_VERIFIER, nuevo TestHostnameVerifier ()); apoderado. sayHello ( "Hello World!");
.