不一定,但它确实取决于服务器实现。例如,要访问远程服务,它需要能够访问生成的客户端以及可选的 WSDL 文档和方案文件(按照惯例应该在 中WEB-INF/wsdl
),这样
public class HelloServlet extends HttpServlet {
@WebServiceRef(HelloMessengerService.class) // class with @WebServiceClient
private HelloMessenger port; // the SEI
...
}
该类HelloMessengerService
是存根并具有具有属性的@WebServiceClient
注释
wsdlLocation
(指向本地或远程 WSDL 文档)。
但你可以有类似的东西
@WebServiceRef(wsdlLocation = "META-INF/wsdl/AnyService/Any.wsdl")
private HelloMessengerService service;
或者
@WebServiceRef
public HelloMessengerService service;
如果您使用处理程序链来更改传入和传出的 SOAP 消息:
@WebServiceRef(HelloMessengerService.class)
@HandlerChain(file="handler-chain.xml")
private HelloMessenger port;
注释的使用@WebServiceRef
必须应用于 JAX-WS 管理的客户端,如 Servlet、EJB 或其他 Web 服务。