2014-10-17 80 views
1

我有一個帶有6個Web服務和一個Web請求的Java servlet應用程序,我必須確定它是否是調用Web服務的Live或Test實例。我相信我可以從URL確定這一點,即如何識別調用Web服務的應用程序

https://localhost:8443/projectname/etc 

我想這一點使用以獲得HttpServletRequest的,我知道我必須調用像下面這樣一個從內部程序名爲「getDocument」的Web服務但是,我如何在getDocument內部初始化HttpServletRequest?那我該如何在getDocument Web服務中創建參數「request」並將其初始化爲請求信息?

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

回答

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

感謝。當我通過SoapUI進行呼叫時,這似乎工作。我還沒有在網絡界面上測試它,但確信它會起作用。將保持更新 – AJF 2014-10-20 15:47:50

+0

不客氣。 – 2014-10-20 15:50:08

相關問題