【问题标题】:WebSphere not scanning @webservice annotationWebSphere 未扫描 @webservice 注释
【发布时间】:2017-07-19 16:26:38
【问题描述】:

我有这个 Web 应用程序 (Ear),它包含使用 @webservice 注释的 jax-ws Web 服务。 它在本地服务器 WebSphere 上运行良好。但是在开发服务器中部署的同一个应用程序没有运行,即没有扫描@webservice 注释的代码。 Ear 中没有 wsdl 文件。仅存在基于注释的 Web 服务。
WebSphere 版本是 8.5.5.11。
应用程序通过 web.xml 设置为 j2ee 1.5
为 web.xml 中的“/”路径添加了 spring 上下文加载器侦听器并配置了调度程序 servlet。
我尝试在另一台服务器上部署相同的 Ear,它工作正常。
任何想法/想法/建议。

【问题讨论】:

  • 这个问题似乎与部署有关。当使用 WAS 管理控制台进行部署时,我没有将 / 添加到上下文根目录中。这似乎是导致问题的原因。不知道为什么!
  • 映射到同一个上下文根“/”的两个应用程序可能会阻止第二个应用程序出现,但应该记录下来。如果日志在部署/启动期间没有显示任何其他问题,则有一个属性“disableIBMJaxwsengine”可能会导致您看到的内容,但这会停止服务器上的所有 jax-ws 应用程序。

标签: web-services websphere jax-ws


【解决方案1】:

jee5 版本的 web.xml 需要设置 JVM 属性才能被扫描。来自知识中心:

com.ibm.websphere.webservices.UseWSFEP61ScanPolicy

使用此属性来控制产品是否扫描 WAR 2.4 及更早版本的模块以查找 JAXWS 组件和半托管服务客户端。默认情况下,这些遗留 WAR 模块仅扫描半托管服务客户端。

如果你设置了这个,下一步 你需要反弹 WebSphere,然后 卸载并重新安装应用程序以检测 jax-ws 服务。

【讨论】:

  • com.ibm.websphere.webservices.UseWSFEP61ScanPolicy=true
  • 这适用于战争 2.4 模块。但我的应用程序是 2.5 版
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-26
  • 2015-02-17
  • 2011-10-15
  • 2012-10-19
  • 1970-01-01
  • 2021-08-10
  • 2010-09-20
相关资源
最近更新 更多