我正在使用 CXF(它从我的 wsdl 在我的 pom.xml 中自动生成我的 web 服务)和 JBoss(eclipse ide),我在从我的 web 应用程序访问 web 服务时遇到了一些问题。我找到了这个资源:http : //blog.progs.be/?p=92 但我很难使用 WSDL_LOCATION = cl.getResource("my/progam/pack/wsdl/myService.wsdl"); 在我的代码中正常工作。
我的 wsdls 位于 src/main/wsdl 中,并在 .classpath 文件中添加了以下行: classpathentry kind="src" path="src/main/wsdl"
我还创建了文件夹 my,program,pack,wsdl 并将我的 wsdls 放到该位置,因此可以访问它。
但是,无论如何,classloader.getResource 调用总是返回 null。
当我指定 getResource("/wsdl/myService.wsdl") 时,它不会返回 null,但我相信它会查看完整的文件路径,而不是我需要的(考虑到 URL 的一部分包含所有 wsdl 文件的路径通过 jboss 服务器目录并包括 WEB-INF 目录。
我的 .classpath 文件设置不正确还是我遗漏了其他内容?
如果 WSDL 位置不正确,它总是会抛出一个 ClassCast 异常,如下所示:
java.lang.ClassCastException: org.apache.cxf.jaxws.ServiceImpl at javax.xml.ws.Service.(Service.java:81)