我有一个带有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();
...
}
答案 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());
...
}
}