gpt4 book ai didi

Webservices(CXF) 和 Jboss 的 Java 类路径问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:54:42 28 4
gpt4 key购买 nike

我正在使用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 的一部分包含通过 jboss 服务器目录一直到 wsdl 文件的路径,并包括 WEB-INF 目录。

我的 .classpath 文件设置不正确还是我遗漏了其他内容?

如果 WSDL 位置不正确,它总是会抛出 ClassCast 异常,如下所示:

java.lang.ClassCastException:javax.xml.ws.Service 处的 org.apache.cxf.jaxws.ServiceImpl。(Service.java:81)

最佳答案

I have my wsdls located in src/main/wsdl (...)

为了在类路径上获取这些文件,您需要在 POM 中将该目录声明为资源:

<project>
...
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/wsdl</directory>
</resource>
</resources>
...
</build>
</project>

现在您的 WSDL 应该位于 classes 目录下。

关于Webservices(CXF) 和 Jboss 的 Java 类路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545499/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com