我很难让 Web 服务在 Websphere 上运行。我有一个 ejb-jar,它使用 JAXWS 注释 @WebService 定义了 Web 服务。然后将该 ejb-jar 打包到耳朵中。我已成功将 Ear 部署到 Glassfish 上,并且能够访问我的 WebService。然而,当我尝试将同一只耳朵部署到 Websphere 8.5 中时,我没有看到任何公开的 WebService。我需要采取哪些步骤才能使这只耳朵在 Websphere 中工作?
如何查看 Websphere 管理控制台中可用的 Web 服务?
Thanks
为了查看 WebSphere 单元中可用的 Web 服务,请从管理控制台选择“服务”,然后选择“服务提供者”。
如果您部署了包含 Web 服务的 EAR,并且无法看到该 Web 服务在 WAS 中可用,那么最好的办法是首先查看 WAS 日志(常规日志 + FFDC 日志),看看 WAS 是否有一个可用的 Web 服务。处理您的服务类别时出现问题(无论出于何种原因)。
如果这没有帮助,您可以将 WAS 配置为发出 JAX-WS 操作的跟踪数据。
我之前遇到过类似的问题,当时 WAS 没有处理我的 Web 服务类,并且没有在其日志中写入任何内容。只有当我设置了跟踪后,我才弄清楚问题是什么,may与您遇到的问题类似:当满足以下条件时,它与 WAS 尝试部署 JAX-WS 服务有关 -
- EAR 包含 JAX-WS 服务的源代码;和
- EAR 不包含所需的所有类compileWeb 服务类(或 Web 服务类直接使用的任何类)。
解释:当您将 EAR 部署到 WebSphere 并指定应部署 Web 服务时(-deployws
) 当 EAR 包含您的应用程序的源代码时,WebSphere 聪明地继续尝试重新编译您的代码。为什么?把我打得活生生的地狱,但事实就是如此。如果WebSphere 无法编译您的JAX-WS Web 服务类(或您的Web 服务类正在使用的任何类),它就会放弃,不向日志写入任何内容,并且您的服务根本不会部署。
如果激活了 JAX-WS 跟踪,那么 WebSphere 会将其记录到跟踪文件中的唯一位置。
(我正在考虑为此与IBM开设一个PMR,但当时我已经开设了大约10个PMR......)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)