发布于2024-11-23 20:23 阅读(1028) 评论(0) 点赞(2) 收藏(2)
我尝试在 Tomcat 7 中运行一个 Web 应用程序。我使用 Maven,使用 jetty-Plugin 一切正常。在构建 war 并将其部署到 Tomcat7 时,我收到 Keystore-File 的 FileNotFoundException。
我必须将文件放在哪里以及必须在 cxfClient.xml 中使用什么路径?
pom.xml 代码片段:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>${basedir}/src/main/resources/xsd/template1.xsd</xsd>
<packagename>some.packagename</packagename>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.7.3</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<!-- <wsdl>URLTOWSDL</wsdl> -->
<wsdl>${basedir}/src/test/resources/somewsdl.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
客户端.xml:
<sec:keyManagers>
<sec:keyStore file="truststore.jks" password="test1234" type="JKS"/>
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore file="truststore.jks" password="test1234" type="JKS"/>
</sec:trustManagers>
日志文件中的行:
Error creating bean with name 'servicename.http-conduit': Cannot create inner bean '(inner bean)' of type [org.apache.cxf.configuration.jsse.TLSClientParametersConfig] while setting bean property 'tlsClientParameters'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public static java.lang.Object org.apache.cxf.configuration.jsse.TLSClientParametersConfig.createTLSClientParameters(java.lang.String)] threw exception; nested exception is java.lang.RuntimeException: java.io.FileNotFoundException: src\main\resources\truststore.jks (Das System kann den angegebenen Pfad nicht finden)
我尝试在 cxfClient 中使用不同的路径 src/main/resources、src/main/webapp,但总是出现 FileNotFoundException。
提前致谢
密钥库(由上面的 sec:keyStore 元素标识)可以通过以下三种方式之一标识:通过文件、资源或 url 属性。文件位置可以是绝对路径或相对于工作目录,资源属性是相对于类路径的,URL 必须是有效的 URL,例如“http://...”、“file:///...”等。只允许使用“url”、“file”或“resource”中的一个属性。
来源: http: //cxf.apache.org/docs/client-http-transport- including-ssl-support.html
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/693774/0e09020b0417888654c1/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!