0

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

4

1 回答 1

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

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

于 2012-05-11T09:19:46.047 回答