[英]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.