如何识别调用web服务的应用程序



我有一个Java servlet应用程序,其中有6个web服务和一个web请求,我必须确定它是调用web服务的Live实例还是Test实例。我相信我可以从URL(即)中确定这一点

 https://localhost:8443/projectname/etc 

https://localhost:8443/projectnameTEST/etc 

我正试图使用HttpServlet请求来获得它,我知道我必须从名为"getDocument"的web服务内部调用下面这样的过程。但是我如何在getDocument内部初始化HttpServlet请求?这就是我如何在getDocument web服务中创建参数"request"并将其初始化为请求信息?

public void doGet(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
     ...
     StringBuffer url = request.getRequestURL();
     ...
} 

您可以检索客户端信息,例如:

@WebService()
public class SomeWebService {
    ...
    @Resource private WebServiceContext wsc;
    ...
    @WebMethod 
    public void methodOfWebService() {      
        MessageContext mc = wsc.getMessageContext();
        // retrieve the client information
        HttpServletRequest httpServletRequest = 
            (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST);    
        System.out.println(httpServletRequest.getServletContext().getContextPath());
        ...
    }
}

最新更新