一直试图让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解决方案是在相关战争的MANIFEST.MF中放置一个特殊属性:关键是UseWSFEP61ScanPolicy,值为true。请参阅here了解更多详情。
servlet 3.0规范还有一个控制扫描的参数(它通常用于加速应用程序的冷启动初始化)。在您的web.xml 3.0部署描述符的根标记中放置metadata-complete =“true”将阻止扫描发生(并且false启用它)
我或多或少遇到了同样的问题,但在WAS 8.0上。
确保您的web.xml是为Servlet 3.0规范编写的。我正在使用web.xml for Servlet 2.4并将版本更新为3.0修复了我的问题。
希望这可以帮助...
面对WAS8.5的类似问题这是由于WAS和应用程序都完成了注释扫描。使用“DisableIBMJAXWSEngine”禁用WAS注释扫描后,应用程序就可以启动了。
DisableIBMJAXWSEngine: true
如果您使用的是WAS 8.0,请确保您的Java运行时和项目构面是1.6。