如何使用ApacheCXF为安全(https)soap web服务生成java类

如何使用ApacheCXF为安全(https)soap web服务生成java类,java,apache,web-services,soap,cxf,Java,Apache,Web Services,Soap,Cxf,我尝试从以下url生成web服务类此web服务在特定VPN下工作 我使用ApacheCXF为这个web服务生成java类 然后我在cmd上出现以下错误 当我使用不安全的soapweb服务时,我可以生成类 有人知道吗?它很可能是由自签名(不受信任)证书签名的。最简单的方法是将此证书添加到cacertsjava密钥库,或将其添加到自定义存储,然后使用设置为自定义存储的javax.net.ssl.trustStore属性运行wsimport 转到Chrome中的url,并使用开发工具中的安全选项卡将

我尝试从以下url生成web服务类此web服务在特定VPN下工作

我使用ApacheCXF为这个web服务生成java类

然后我在cmd上出现以下错误

当我使用不安全的soapweb服务时,我可以生成类


有人知道吗?

它很可能是由自签名(不受信任)证书签名的。最简单的方法是将此证书添加到
cacerts
java密钥库,或将其添加到自定义存储,然后使用设置为自定义存储的
javax.net.ssl.trustStore
属性运行
wsimport

  • 转到Chrome中的url,并使用开发工具中的安全选项卡将证书导出到文件中
  • 使用
    keystore
    工具将证书导入
    cacerts
    keystore
  • 在终端中:

    $JAVA_HOME/bin/keytool -import -alias MyCustomCert -keystore $JAVA_HOME/jre/lib/security/cacerts -file ~/path/to/saved/cert
    
    或在Windows上:

    %JAVA_HOME%\bin\keytool -import -alias MyCustomCert -keystore %JAVA_HOME%\jre\lib\security\cacerts -file C:\whereever\the\file\is
    

    确保定义了JAVA\u HOME环境变量,并且您使用的命令提示符具有写入
    %JAVA\u HOME%\jre\lib\security\cacerts
    文件的权限。

    它很可能由自签名(不受信任)证书签名。最简单的方法是将此证书添加到
    cacerts
    java密钥库,或将其添加到自定义存储,然后使用设置为自定义存储的
    javax.net.ssl.trustStore
    属性运行
    wsimport

  • 转到Chrome中的url,并使用开发工具中的安全选项卡将证书导出到文件中
  • 使用
    keystore
    工具将证书导入
    cacerts
    keystore
  • 在终端中:

    $JAVA_HOME/bin/keytool -import -alias MyCustomCert -keystore $JAVA_HOME/jre/lib/security/cacerts -file ~/path/to/saved/cert
    
    或在Windows上:

    %JAVA_HOME%\bin\keytool -import -alias MyCustomCert -keystore %JAVA_HOME%\jre\lib\security\cacerts -file C:\whereever\the\file\is
    

    确保定义了JAVA_HOME环境变量,并且您使用的命令提示符具有写入
    %JAVA_HOME%\jre\lib\security\cacerts
    文件的权限。

    您是否有权访问承载WS-https的VPN?当您尝试在浏览器(即Chrome)上打开WSDL页面时会显示该页面?@Rodrigomes:是的,但我必须尝试几次才能在浏览器上打开它。当您无法成功查看WSDL时,请尝试通过邮递员访问该页面并查看响应标题。这种方法可以让您更好地了解正在发生的事情。如果连接到VPN,则不应具有通过浏览器访问WDSL的任何互操作性。确保您的所有请求也通过VPN!您是否可以访问承载WS-https的VPN?当您尝试在浏览器(即Chrome)上打开WSDL页面时会显示该页面?@Rodrigomes:是的,但我必须尝试几次才能在浏览器上打开它。当您无法成功查看WSDL时,请尝试通过邮递员访问该页面并查看响应标题。这种方法可以让您更好地了解正在发生的事情。如果连接到VPN,则不应具有通过浏览器访问WDSL的任何互操作性。确保您的所有请求也通过VPN!非常感谢。现在,我得到了以下异常一旦您的步骤被执行,证书被添加到密钥库keytool错误:java.io.FileNotFoundException:cacerts(访问被拒绝)我正在使用Windows10@Barrier再次查看答案,我已将命令改编为Windows。只要确保在提升的提示符或类似的地方运行它,这样它就有权限写入密钥库。显然,还需要定义%JAVA_HOME%变量。非常感谢。你的回答对我帮助很大:)我已经完成了你的步骤。但我还是犯了同样的错误。我该怎么办?谢谢你。现在,我得到了以下异常一旦您的步骤被执行,证书被添加到密钥库keytool错误:java.io.FileNotFoundException:cacerts(访问被拒绝)我正在使用Windows10@Barrier再次查看答案,我已将命令改编为Windows。只要确保在提升的提示符或类似的地方运行它,这样它就有权限写入密钥库。显然,还需要定义%JAVA_HOME%变量。非常感谢。你的回答对我帮助很大:)我已经完成了你的步骤。但我还是犯了同样的错误。我该怎么办?