在部署时,Web服务URL为http:// localhost:8080 / [context-root] / [serviceName]。 context-root特别是项目的名称,但只显示在WEB-INF的sun-web.xml中。 如何将此信息提供给java层?我需要以编程方式获取Web服务的URL,而context-root是目前唯一缺少的信息。
答案 0 :(得分:2)
以下是如何执行此操作的方法。在服务类
中假设此代码@Resource
WebServiceContext wsContext;
@WebMethod
public String myServiceOperation(){
MessageContext context = wsContext.getMessageContext();
HttpServletRequest res = (HttpServletRequest) context.get(MessageContext.SERVLET_REQUEST) ;
System.out.println(" Context:path "+res.getContextPath());
}
这将打印到控制台的上下文路径。