我正在使用JAX-WS开展一个项目。
当我使用@WebService
注释我的端点类时,WSDL在控制台中标记为
.../<context-root>/XXXService?wsdl
当我在这些端点上添加@Stateless
时,WSDL未在控制台中标记,实际地址为
.../XXXService/XXXEndpoint?wsdl
这是正常还是预期?
更新
对于更多读者。
我找不到任何解决方案。我决定不使用混合@Stateless
+ @WebService
。我将这些@EJB
和@WebServices
拆分为明确的模块分离。
答案 0 :(得分:5)
您遇到的是预期的行为。如果服务不起作用则是另一回事。当EJB 3.x无状态bean被部署为WS时,它的命名默认为您在那里看到的内容,
Servername/SIBnameService/SIBName.
原因很明显:EJB不在Web应用程序的上下文中运行,因此无法解决。您可以使用serviceName
注释
@WebService
属性自定义默认名称
从apache
查看this