Jin*_*won 1 web-services ejb glassfish jax-ws
我正在使用JAX-WS开发一个项目.
当我使用@WebServiceWSDL 注释我的端点类时,在控制台中标记为
.../<context-root>/XXXService?wsdl
Run Code Online (Sandbox Code Playgroud)
当我添加@Stateless这些端点时,WSDL没有在控制台中标记,实际地址是
.../XXXService/XXXEndpoint?wsdl
Run Code Online (Sandbox Code Playgroud)
这是正常的还是预期的?
更新
进一步的读者.
我找不到任何解决方案.我决定不使用混合@Stateless+ @WebService.我将这些分开@EJB并@WebServices进行清晰的模块分离.
你所经历的是预期的行为.如果服务不起作用则是另一回事.当EJB 3.x无状态bean被部署为WS时,它的命名默认为您在那里看到的,
Servername/SIBnameService/SIBName.
Run Code Online (Sandbox Code Playgroud)
原因很明显:EJB不在Web应用程序的上下文中运行,因此无法解决.您可以使用注释serviceName上的属性自定义默认名称@WebService
从apache 看这个