一直试图让 jax-ws web 服务在 websphere 8.5 中工作,但没有成功。 我已经尝试过 Java bean 和 war 打包、无状态 ejb 和 jar 打包,但它就是行不通。
我正在尝试让它与@webservice 注释一起工作。
我没有生成任何额外的工件。我让 websphere 在部署期间弄清楚。部署期间没有错误。部署后,我尝试在浏览器中运行 wsdl 以查看 Web 服务是否安装成功,但我什么也没得到。
不确定是我在部署过程中做错了什么还是其他什么。 如果您需要更多信息,请告诉我。
问候,
最佳答案
实际上 websphere 8.5 是 Java EE 6 兼容的,这意味着容器应该扫描 web 应用程序的类路径以找到 @webservice 注释的类并将它们部署为正在运行的 web 服务。
然而,根据您使用的 servlet 规范(在 web.xml 文件中给出),扫描不会发生:它应该从规范的 2.5 版开始自动发生。
对于较旧的 Web 应用程序,Websphere 解决方案是在相关 war 的 MANIFEST.MF 中放置一个特殊属性:键为 UseWSFEP61ScanPolicy,值为 true。 见here了解更多详情。
servlet 3.0规范还有一个控制扫描的参数(通常用于加速应用程序的冷启动初始化)。将 metadata-complete="true"放在 web.xml 3.0 部署描述符的根标记中将阻止扫描发生(false 启用扫描)
关于java - jax-ws web 服务在 websphere 8.5 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15695907/