【发布时间】:2015-08-06 09:19:08
【问题描述】:
我有一个当前在 Glassfish 4.0 下运行的 Web 应用程序,并希望对其进行修改以在 Wildfly 8.2 下运行。我目前遇到的问题是:
我有一些 Web 服务(带有注释 @WebService),目前在 /ws/ 下发布
f.e. “PanelService”将暴露在/myAppContextRoot/ws/PanelService
我通过将Glassfish-WS-Servlet (ergo JAXWS-RI) 绑定到web.xml 中的/ws/* 来做到这一点。
在不使用 Wildfly 特定注释的情况下,是否有比较适合 Wildfly 的方法 - 仅通过配置?我不想在我的classpath 中有jboss-classes。
我目前的“解决方案”是将JAXWS-RI 添加到类路径并两次发布服务 - 通过JBoss-WS 和JAXWS-RI :-(
€编辑:
Terrence Curran 的解决方案确实有效.....但是....我不得不添加一些小的改动。
- 我不知道的是:必须将文件放在
src/main/webapp/META-INF(Maven Web 项目)下 - 之前尝试过src/main/resources/META-INF... - 上下文根必须包含我的应用程序名称.....我的
jboss-webservices.xml现在是:
.
<webservices>
<context-root>myApp/ws</context-root>
</webservices>
- 我必须将至少一个 web 服务标记为
@StatelessEJB。不要问我为什么 - 但如果我删除注释,文件似乎不会被解析和应用。只有当有一个 WS 也作为 EJB 存在时,我的 wildlfy 才会应用jboss-webservices.xml。 (错误?)
【问题讨论】:
标签: java web-services jboss jax-ws wildfly