从Web服务中的sun-web.xml获取context-root

时间:2012-05-10 20:30:29

标签: java web-services glassfish jax-ws

在部署时,Web服务URL为http:// localhost:8080 / [context-root] / [serviceName]。 context-root特别是项目的名称,但只显示在WEB-INF的sun-web.xml中。 如何将此信息提供给java层?我需要以编程方式获取Web服务的URL,而context-root是目前唯一缺少的信息。

1 个答案:

答案 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());
}

这将打印到控制台的上下文路径。