Java 从web服务中的sun-web.xml获取上下文根
部署时,web服务URL为http://localhost:8080/[context root]/[serviceName]。上下文根是项目的名称,但除此之外,只显示在web-INF中的sun-web.xml中。Java 从web服务中的sun-web.xml获取上下文根,java,web-services,glassfish,jax-ws,Java,Web Services,Glassfish,Jax Ws,部署时,web服务URL为http://localhost:8080/[context root]/[serviceName]。上下文根是项目的名称,但除此之外,只显示在web-INF中的sun-web.xml中。 如何将这些信息传递到java层?我需要以编程方式获取web服务的url,而上下文根是目前唯一缺少的信息。以下是如何做到这一点。假设此代码在服务类中 @Resource WebServiceContext wsContext; @WebMethod public String myS
如何将这些信息传递到java层?我需要以编程方式获取web服务的url,而上下文根是目前唯一缺少的信息。以下是如何做到这一点。假设此代码在服务类中
@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());
}
这会将上下文路径打印到控制台