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