从 JBoss Wildfly 中的模块目录部署 SOAP Web 服务实现

Deploying a SOAP Webservice implementation from the module directory in JBoss Wildfly

我在部署 SOAP 网络服务实现时遇到问题,其中 class 文件位于 Wildfly 模块中。该模块是 Web 应用程序可以访问的全局模块(我知道 b/c 它能够访问存储在模块中的其他 classes)并且不会发生部署错误。但是,我也从未像在正常情况下那样收到说明 "Adding service endpoint metadata" 的日志,并且从未生成 wsdl。

作为参考,我在同一个容器中部署了 3 个其他 SOAP Web 服务,但它们的所有实现 classes 都存在于驻留在其相应 Web 应用程序中的 jar 中。他们在模块中存储 web 服务实现是一个已知问题吗?由于我无法透露的原因,这应该不是问题。任何帮助将不胜感激。

在与@federico-sierra 交谈后,我们发现问题出在 Web 应用程序 /META-INF/MANFIEST.MF 中的依赖声明。

我的原始清单文件显示如下:

Manifest-Version: 1.0
Dependencies: org.webservice.impl.library, org.apache.log4j
Built-By: usera
Build-Jdk: 1.7.0_55
Created-By: Apache Maven 3.2.2
Archiver-Version: Plexus Archive

当依赖行应该在我的网络服务类路径旁边包含 'annotations' 时:

Dependencies: org.webservice.impl.library annotations, org.apache.log4j

此外,进行此更改后,我的 Web 服务实现 jar 需要使用 maven jandex 插件重新编译,以便在 jar 内部生成所需的 jandex.idx。 Maven 插件描述位于:https://github.com/wildfly/jandex-maven-plugin。注意:如果需要,可以使用 ANT 插件。