很抱歉,如果重复的话,我看了其他几个问题,但似乎没有一个匹配或提供可行的解决方案。
问题 我正在编写一个Spring Boot(v2.0.2)应用程序,该应用程序公开了RESTful API,然后该API调用WSDL服务。我已经使用Maven / jaxb插件生成了WSDL类,并且一切都可以在我的开发机上工作。当部署到服务器时,我得到一个错误,即WSDL服务类无法加载基础WSDL文件。问题是,当生成Java类时,它正在使用我的开发机的完整路径(生成的服务类的片段)
try {
URL baseUrl;
baseUrl = com.mytest.WSDLService.class.getResource(".");
url = new URL(baseUrl, "/home/users/me/projects/wsdltest/wsdl/MyWSDL.wsdl");
} catch (MalformedURLException e) {
WSDL文件(MyWSDL.wsdl)在我的应用程序的春季启动JAR文件中,位于根目录'wsdl'的子目录中
问题,是否有一种方法可以从JAR文件加载此WSDL,而无需修改生成的类?
理想的解决方案,我希望找到一个不会使我修改生成的文件的解决方案(我们打算针对几种服务进行此操作),理想情况下,我希望有一个可以如果可能的话,在构建时完成(在pom.xml中?)。
尝试过的解决方案
<wsdlLocation>/wsdl/MyWSDL.wsdl</wsdlLocation>
预先感谢
答案 0 :(得分:0)
由于这个SO Thread,我想能够找到解决方案。显然,答案取决于在Maven中使用的jaxws工具的版本(jaxws-maven-plugin)。使用这个版本的工具,该项目(我继承了)明确要求版本1.12(调用JAX-WS RI 2.1.7-b01-),我能够使用'
我进行了快速测试,这似乎已经解决了问题(在我的开发机和测试站点中)。
谢谢