小编sha*_*lic的帖子

SSLHandshakeException:不存在主题替代名称

我通过java代码调用HTTPS SOAP Web服务.我已经在jre cacerts密钥库中导入了自签名证书.现在我得到:

com.sun.xml.internal.ws.com.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
Run Code Online (Sandbox Code Playgroud)

服务URL的主机名与cert中提供的CN的主机名不匹配.我在这里阅读了有关定义自定义主机名验证程序的解决方法.但我无法在我的代码中实现解决方法的位置.

public SOAPMessage invokeWS(WSBean bean) throws Exception {

    SOAPMessage response=null;
    try{

    /** Create a service and add at least one port to it. **/
    String targetNameSpace = bean.getTargetNameSpace();
    String endpointUrl = bean.getEndpointUrl();
    QName serviceName = new QName(targetNameSpace, bean.getServiceName());
    QName portName = new QName(targetNameSpace, bean.getPortName());
    String SOAPAction = bean.getSOAPAction();
    HashMap<String, String> map = bean.getParameters();


    Service service = Service.create(serviceName);
    service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING, endpointUrl);

    /** Create a …
Run Code Online (Sandbox Code Playgroud)

java ssl https tomcat soap

56
推荐指数
2
解决办法
15万
查看次数

使用CORS的跨域REST/Jersey Web服务

我想用CORS(跨源资源共享)制作跨域REST Web服务.我正在使用Jersey Libraries来提供服务.

我需要知道

  1. 从服务器端的角度来看,我需要做哪些代码/配置更改?

  2. 如何从HTML5/js调用此服务.

谢谢

rest jersey cross-domain cors

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

cors ×1

cross-domain ×1

https ×1

java ×1

jersey ×1

rest ×1

soap ×1

ssl ×1

tomcat ×1