From f419cad4f8d533e41f27eecf5e78ac40d36b33de Mon Sep 17 00:00:00 2001 From: sauljabin Date: Mon, 27 Jul 2015 15:34:56 -0500 Subject: [PATCH] IDEMPIERE-2740 Webservice without session causing no changelog --- .../org/idempiere/adinterface/CompiereService.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java index bd2852b1c6..23993f2582 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java @@ -17,9 +17,11 @@ import java.sql.SQLException; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Properties; +import java.util.UUID; import java.util.logging.Level; import org.adempiere.util.ServerContext; +import org.compiere.model.MSession; import org.compiere.model.MUser; import org.compiere.util.CLogger; import org.compiere.util.DB; @@ -135,6 +137,7 @@ public class CompiereService { { if (m_connected) { + Env.logout(); ServerContext.dispose(); m_ctx = null; m_loggedin = false; @@ -274,6 +277,16 @@ public class CompiereService { Env.setContext( getCtx(), "#M_Warehouse_ID", M_Warehouse_ID ); Env.setContext(m_ctx, Env.LANGUAGE, m_language.getAD_Language()); + // Create session + MSession session = MSession.get (getCtx(), false); + if (session == null){ + log.fine("No Session found"); + session = MSession.get (getCtx(), true); + } + session.setWebSession(UUID.randomUUID().toString()); + session.setDescription(session.getDescription() + " WebService" ); + session.saveEx(); + m_loggedin = true; return true; }