From 5dbdbc93aac9c89c2df38616f84e1ce9bb2fd2a4 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 31 Oct 2017 17:30:55 +0100 Subject: [PATCH] IDEMPIERE-3534 Webservice error - Cannot Access --- .../src/org/compiere/model/MRole.java | 14 +++++++------- .../idempiere/adinterface/ModelADServiceImpl.java | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MRole.java b/org.adempiere.base/src/org/compiere/model/MRole.java index 9eac524285..fc18c48743 100644 --- a/org.adempiere.base/src/org/compiere/model/MRole.java +++ b/org.adempiere.base/src/org/compiere/model/MRole.java @@ -61,7 +61,7 @@ public final class MRole extends X_AD_Role /** * */ - private static final long serialVersionUID = 3608297024439006903L; + private static final long serialVersionUID = 8952907008982481439L; /** * Get Default (Client) Role @@ -1488,7 +1488,7 @@ public final class MRole extends X_AD_Role * @param AD_Window_ID window * @return null in no access, TRUE if r/w and FALSE if r/o */ - public Boolean getWindowAccess (int AD_Window_ID) + public synchronized Boolean getWindowAccess (int AD_Window_ID) { if (m_windowAccess == null) { @@ -1575,7 +1575,7 @@ public final class MRole extends X_AD_Role * @param AD_Process_ID process * @return null in no access, TRUE if r/w and FALSE if r/o */ - public Boolean getProcessAccess (int AD_Process_ID) + public synchronized Boolean getProcessAccess (int AD_Process_ID) { if (m_processAccess == null) { @@ -1657,7 +1657,7 @@ public final class MRole extends X_AD_Role * @param AD_Task_ID task * @return null in no access, TRUE if r/w and FALSE if r/o */ - public Boolean getTaskAccess (int AD_Task_ID) + public synchronized Boolean getTaskAccess (int AD_Task_ID) { if (m_taskAccess == null) { @@ -1737,7 +1737,7 @@ public final class MRole extends X_AD_Role * @param AD_Form_ID form * @return null in no access, TRUE if r/w and FALSE if r/o */ - public Boolean getFormAccess (int AD_Form_ID) + public synchronized Boolean getFormAccess (int AD_Form_ID) { if (m_formAccess == null) { @@ -1817,7 +1817,7 @@ public final class MRole extends X_AD_Role * @param AD_Workflow_ID workflow * @return null in no access, TRUE if r/w and FALSE if r/o */ - public Boolean getWorkflowAccess (int AD_Workflow_ID) + public synchronized Boolean getWorkflowAccess (int AD_Workflow_ID) { if (m_workflowAccess == null) { @@ -3086,7 +3086,7 @@ public final class MRole extends X_AD_Role return whereClause.toString(); } - public Boolean getInfoAccess(int AD_InfoWindow_ID) { + public synchronized Boolean getInfoAccess(int AD_InfoWindow_ID) { if (m_infoAccess == null) { m_infoAccess = new HashMap(20); diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java index 08fb2ee9b1..f672b8ba90 100644 --- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java +++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/ModelADServiceImpl.java @@ -424,6 +424,8 @@ public class ModelADServiceImpl extends AbstractService implements ModelADServic reqprocess.setADRecordID(modelRunProcess.getADRecordID()); reqprocess.setDocAction(modelRunProcess.getDocAction()); RunProcessResponseDocument response = Process.runProcess(getCompiereService(), docprocess, getRequestCtx(), localTrxName); + if (response != null && response.getRunProcessResponse() != null && response.getRunProcessResponse().getIsError()) + log.warning("Error running webservice " + serviceType + " -> " + response.getRunProcessResponse().getError()); Map requestCtx = getRequestCtx(); requestCtx.put(serviceType+"_Summary", response.getRunProcessResponse().getSummary()); return response;