簡體   English   中英

如何從Java中的axis2 Web服務請求獲取客戶端的IP?

[英]How to get client's ip from axis2 webservice request in java?

我想驗證連接到Web服務服務器的客戶端(我使用jboss 7部署服務器)。 因此,我需要從他們的請求中獲取客戶的IP。 如何在Java中執行此操作?

我剛剛開始學習WebServices。 也許這行代碼會有所幫助。 對於Axis2不太確定,但是使用一些較舊版本的Axis,您可能會這樣做。

MessageContext messageContext = MessageContext.getCurrentContext(); 
String ipAddress = messageContext.getStrProp(Constants.MC_REMOTE_ADDR);

很少有用於獲取客戶端特定屬性的常量。 如有必要,您可能想使用一些自定義標頭來獲取屬性。

在Axis2中,您可以從MessageContext獲取遠程(客戶端)IP:

import org.apache.axis2.context.MessageContext;
MessageContext mc = MessageContext.getCurrentMessageContext();
String clientIP = (String) mc.getProperty(MessageContext.REMOTE_ADDR);

參考: AXIS2-1610 :需要在服務器端獲取客戶端IP地址

我正在使用axis2 1.5.3,我讀取了屬性“ MessageContext.REMOTE_ADDR”,但它返回部署了axis2.war的Jboss應用服務器的IP地址。

我將代碼java放在類“ MessageReceiverInOut”中,如何獲取執行我的Web服務Axis2的客戶端的IP地址?

無論是客戶端還是Web應用程序,請致電我的URL https:// myDomain / axis2 / services / MyService

MyService是axis2.war內部的aar

非常感謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM