1

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

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

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

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

.../XXXService/XXXEndpoint?wsdl

这是正常的还是预期的?

更新

供更多读者参考。

我找不到任何解决方案。我决定不使用混合@Stateless+ @WebService。我拆分了那些@EJBs 和@WebServices清晰的模块分离。

4

1 回答 1

5

你所经历的是预期的行为。如果服务不起作用,那就另当别论了。当 EJB 3.x 无状态 bean 部署为 WS 时,它的命名默认为您在此处看到的,

Servername/SIBnameService/SIBName. 

原因很明显:EJB 不在 Web 应用程序的上下文中运行,因此不能这样处理。您可以使用注释serviceName上的属性自定义默认名称@WebService

从apache看这个

于 2013-01-09T20:32:53.827 回答