2013-04-16 118 views
1

我想弄清楚如何在wso2 esb中實現會話管理。因此,我寫了一個類中介,它生成了我想存儲的session_ID。爲了存儲會話ID,我是使用下面的代碼:如何在wso2中設置全局屬性ESB

org.apache.axis2.context.ServiceContext serviceContext = org.apache.axis2.context.MessageContext 
      .getCurrentMessageContext().getServiceContext(); 
serviceContext.setProperty("SessionIDGlobal", uuid); 

但是,儘管我ESB的代理運行它,它在getCurrentMessageContext part.I拋出空指針異常遵循另一種方法,即,在我正在存儲的SessionID財產調解人,試圖獲取其價值,但當我點擊postRequest操作後,try-it generateSessionID操作。所有的屬性被重置,我的sessionID屬性給我空值。我應該怎樣做才能糾正這個問題?有其他方法嗎?

回答

1

你必須像這樣創建servicecontext;

ConfigurationContext cfgCtx =(((Axis2MessageContext) synCtx).getAxis2MessageContext(). getConfigurationContext(); 

cfgCtx.getOperationContext().getServiceContext(); 
+0

uuid = UUID.randomUUID()。toString(); ConfigurationContext cfgCtx =(((Axis2MessageContext)messageContext).getAxis2MessageContext()。getConfigurationContext()); //cfgCtx.setProperty("SessionUUID「,uuid); ServiceContext serviceContext = cfgCtx.getOperationContext(messageContext.getMessageID())。getServiceContext(); serviceContext.setProperty(「SessionUUID」,uuid); – Roy

+0

這是我寫設置UUID的代碼,但又把它給我空指針異常空 顯示java.lang.NullPointerException 在org.openoandm.www.xml.isbmOpenPub.OpenPublicationSkel.mediate(OpenPublicationSkel.java:50) – Roy

+0

感謝ratha幫助我。它做了一些改變後爲我工作。感謝洛特 – Roy