package webxtreme.core; import java.util.Locale; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.zkoss.zk.ui.Session; import org.zkoss.zk.ui.util.SessionInit; import bridge.service.client.Connector; import bridge.utils.PropertiesReader; public class SessionInitializer implements SessionInit { @Override public void init(Session session, Object arg1) throws Exception { if(session.getAttribute(org.zkoss.web.Attributes.PREFERRED_LOCALE) == null) session.setAttribute(org.zkoss.web.Attributes.PREFERRED_LOCALE, Locale.ITALIAN); JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); PropertiesReader propertiesReader = new PropertiesReader(); if(new Boolean(propertiesReader.getProperty("logIncomingWebServiceRequests"))) factory.getInInterceptors().add(new LoggingInInterceptor()); if(new Boolean(propertiesReader.getProperty("logOutcomingWebServiceData"))) factory.getOutInterceptors().add(new LoggingOutInterceptor()); Long userId = new Long(propertiesReader.getProperty("user_id")); factory.setServiceClass(Connector.class); factory.setAddress(new String(propertiesReader.getProperty("webservice"))); Connector client = (Connector) factory.create(); session.setAttribute("webservice_client", client); session.setAttribute("user_id", userId); } }