Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从web服务中的sun-web.xml获取上下文根_Java_Web Services_Glassfish_Jax Ws - Fatal编程技术网

Java 从web服务中的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

部署时,web服务URL为http://localhost:8080/[context root]/[serviceName]。上下文根是项目的名称,但除此之外,只显示在web-INF中的sun-web.xml中。
如何将这些信息传递到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());
}
这会将上下文路径打印到控制台