EJB作为WebService context-root消失了

时间:2013-01-05 11:08:44

标签: web-services glassfish ejb jax-ws

我正在使用JAX-WS开展一个项目。

当我使用@WebService注释我的端点类时,WSDL在控制台中标记为

.../<context-root>/XXXService?wsdl

当我在这些端点上添加@Stateless时,WSDL未在控制台中标记,实际地址为

.../XXXService/XXXEndpoint?wsdl

这是正常还是预期?

更新

对于更多读者。

我找不到任何解决方案。我决定不使用混合@Stateless + @WebService。我将这些@EJB@WebServices拆分为明确的模块分离。

1 个答案:

答案 0 :(得分:5)

您遇到的是预期的行为。如果服务不起作用则是另一回事。当EJB 3.x无状态bean被部署为WS时,它的命名默认为您在那里看到的内容,

Servername/SIBnameService/SIBName. 

原因很明显:EJB不在Web应用程序的上下文中运行,因此无法解决。您可以使用serviceName注释

上的@WebService属性自定义默认名称

从apache

查看this