jaxws-maven-plugin缺少SNI,在java8(openjdk 1.8.0_101)和wildfly 10.1 environement

时间:2018-02-28 16:14:07

标签: java-8 soap-client wildfly-10 sslhandshakeexception sni

这是问题

我有一个jaxws-maven-plugin(版本2.5,jaxws-tools 2.3.0)生成的wsdl代码(用于肥皂服务)

它使用@WebServiceClient(javax.xml.ws java1.8)客户端生成代码。

当我在Junit中针对某个站点运行此客户端时,一切正常,我得到sslconnection正确,并收到响应。但是当我使用这个客户端向wildfly 10.1中的同一站点运行应用程序时,我实际上得到了SSLHandshakeException,unrecognized_name,这表明SNI丢失了。我有一个自己使用HttpsURLConnection编写的客户端,它工作正常。所以我真的很难理解为什么会发生这种情况。

从maven生成的代码如下(我只能有peudo代码)

@WebServiceClient(name = "service_name", targetNamespace = "https://namespace.com/xxxxxx/v2", wsdlLocation = "/wsdl/targetwsdl.wsdl")
public class DTServerModuleServiceV2
    extends Service
{

}

1 个答案:

答案 0 :(得分:0)

我只看到一个可能改变此行为的参数。从JSSE Reference Guide开始,请尝试-Djsse.enableSNIExtension=false,默认设置为true。 有一个长时间的讨论和一个技术解释here,但你的问题并不是真的重复。 如果问题得到解决,请告诉我们。

顺便说一句,您的Java版本已经过时,并且已知存在SSL错误。