0
我目前正在開發一套web服務在Java中,主辦Axis2的運行在的WebLogic 10.3.0。這些webservices接收和返回SOAP消息。XML響應消息中的服務器名稱?
正如我的WebLogic一個集羣環境,我想有的WebLogic的服務器名稱(我使用管理控制檯配置的一個)返回在響應消息體。有沒有什麼辦法可以通過編程或配置管理控制檯?
在此先感謝您的幫助解決這個問題!
我目前正在開發一套web服務在Java中,主辦Axis2的運行在的WebLogic 10.3.0。這些webservices接收和返回SOAP消息。XML響應消息中的服務器名稱?
正如我的WebLogic一個集羣環境,我想有的WebLogic的服務器名稱(我使用管理控制檯配置的一個)返回在響應消息體。有沒有什麼辦法可以通過編程或配置管理控制檯?
在此先感謝您的幫助解決這個問題!
您可以通過本地主機獲取服務器的名稱是這樣的:
String hostname = InetAddress.getLocalHost().getHostName();
更新
以上的回報它運行在,所以它會給名稱的服務器的名稱web服務主機。
如果您需要在Web服務的前端服務器的名稱,你可以得到從請求:
String hostname = request.getRemoteHost();
應該做的伎倆。請注意,遠程主機名是套接字客戶端用於建立連接的內容,但不一定是DNS名稱。如果您需要DNS名稱,則可以使用:
String hostname = InetAddress.getByName(request.getRemoteAddr()).getHostName();
更新2
如果你的意思是不相關的服務器(溶液1)是轉發代理(溶液2),但一種邏輯羣集名稱,你可以定義在web.xml作爲上下文參數:
<context-param>
<param-name>clustername</param-name>
<param-value>OurPrettyCluster</param-value>
</context-param>
和閱讀在你的servlet:
ServletContext context = getServletContext();
String clustername = context.getInitParameter("clustername");
如果這也沒有幫助,您需要更新您的問題並描述您的羣集配置,因爲所提供的信息可以做得更多。
這是服務器的het主機名,而不是weblogic服務器的名稱 – Salandur 2010-01-18 10:58:04
正如Salandur所說,您的解決方案輸出機器(主機)名稱和IP地址。我想輸出WebLogic的服務器名稱,與主機名(部署WebLogic的服務器/物理機)不一致。 – XpiritO 2010-01-20 11:24:50
在您的上一次更新(更新2)之後,我已將Web應用程序部署到具有2個實例的羣集環境中。我目前在管理服務器(非羣集)上使用「HttpClusterServlet」(負載平衡),然後將請求重定向到2個羣集實例之一。我想要的是返回處理請求的實例名稱(在羣集的config.xml文件中配置)(管理服務器在重定向時選擇的實例)。我想要使用具有羣集服務器名稱的羣集的config.xml文件。那可能嗎? – XpiritO 2010-01-21 10:06:11