我通过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) 我想用CORS(跨源资源共享)制作跨域REST Web服务.我正在使用Jersey Libraries来提供服务.
我需要知道
从服务器端的角度来看,我需要做哪些代码/配置更改?
如何从HTML5/js调用此服务.
谢谢