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

时间:2014-10-17 10:54:56

标签: java web-services servlets

我有一个带有6个Web服务的Java servlet应用程序和一个Web请求,我必须确定它是否是调用Web服务的Live或Test实例。我相信我可以通过URL确定这一点,即

 https://localhost:8443/projectname/etc 

https://localhost:8443/projectnameTEST/etc 

我试图使用HttpServletRequest获取它,我知道我必须在名为“getDocument”的Web服务中调用类似下面的过程但是如何在getDocument中初始化HttpServletRequest?那就是如何在getDocument Web服务中创建参数“request”并将其初始化为请求信息?

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

1 个答案:

答案 0 :(得分:0)

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

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