2013-04-16 72 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