0

我使用了 => http://metro.java.net/nonav/1.2/guide/Example_Applications.html#ahies中给出的示例 来尝试使用 jdk 7 和 glassfish 4.0 在 netbeans 7.3.1 中通过 SSL 进行 saml 身份验证。但是,当我运行我的客户端代码时,我遇到了异常

例外

javax.xml.ws.WebServiceException)javax.xml.ws.WebServiceException: 访问 WSDL 失败:https://:8181/CalculatorApplication/CalculatorWS?wsdl。它失败了:java.security.cert.CertificateException:找不到名称匹配。

当我尝试创建服务时,我的 JSP 中出现了异常:

org.me.calculator.client.CalculatorWS_Service 服务 = 新的 org.me.calculator.client.CalculatorWS_Service();

任何尝试过这个或遇到过类似问题的人都可以帮助我解决这个问题。

完整的堆栈跟踪 =>

严重:javax.xml.ws.WebServiceException:无法访问 WSDL:https://:8181/CalculatorApplication/CalculatorWS?wsdl。它失败了:java.security.cert.CertificateException:找不到名称匹配。在 com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:249) 在 com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:230) 在 com.sun .xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:193) 在 com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:162) 在 com.sun.xml.ws .client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:359) 在 com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:321) 在 com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java :230) 在 com.sun.xml.ws.client.WSServiceDelegate。

4

1 回答 1

0

这里有一个可用的解决方案[1]。看起来这是一个已知问题。我没有尝试过他提出的解决方案,但看起来问题在于验证主机名。他正在覆盖验证方法。

       public boolean verify(String hostname,
                javax.net.ssl.SSLSession sslSession) {
            if (hostname.equals("localhost")) {
                return true;
            }
            return false;
        }

[1] - http://www.mkyong.com/webservices/jax-ws/java-security-cert-certificateexception-no-name-matching-localhost-found/

于 2013-09-12T05:17:36.543 回答