CMDBuild Forum

Re: Errore nell'utilizzo dei ToolAgent all'interno dei Workflow

Salve a tutti,

abbiamo installato la rel 1.1 recentemente, ed abbiamo costruito alcuni processi secondo le modalità descritte nei nuovi manuali.

Nei nostri processi abbiamo utilizzato con successo, i seguenti tool activity:

concat, getCurrentTimestamp

Mentre, al contrario, intercettiamo un errore bloccante quando utilizziamo i tool di tipo:

SelectAttrbute

UpdateAttribute

Naturalmente abbiamo rispettato le indicazioni fornite per questo tipo di attività (automatiche, eseguite dal sistema) all'atto della implementazione del processo attraverso JPEd 1.0.2.

Di seguito una parte dell'errore estratta dal file cmdbuild.log

____________________________________________________

ERROR 2009-11-26 13:07:59 [workflow] Original workflow exception
DEBUG 2009-11-26 13:07:59 [org.apache.axis.utils.NSStack] NSPush (32)
DEBUG 2009-11-26 13:07:59 [org.apache.axis.utils.NSStack] NSPush (32)
DEBUG 2009-11-26 13:07:59 [org.apache.axis.i18n.ProjectResourceBundle] org.apache.axis.i18n.resource::handleGetObject(empty00)
DEBUG 2009-11-26 13:07:59 [org.apache.axis.utils.NSStack] NSPop (empty)
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.enhydra.shark.api.internal.toolagent.ToolAgentGeneralException: Couldn't find repository location '/home/cmdbuild/tomcat/webapps/shark/conf/axisrepository'
 faultActor:
 faultNode:
 faultDetail: 

    {http://xml.apache.org/axis/}hostname:cmdbuild_1_1_test
.

.

.

.

ERROR 2009-11-26 13:07:59 [workflow] error executing an action (cmdb) - WF_CANNOT_COMPLETE_WORKITEM

_____________________________________________________________

 

 

E, di seguito, il segmento del sorgente XPDL relativo alla Tool Activity in esame:

_______________________________________________________________

.

.

                <Activity Id="Notifica_richiesta_creata" Name="Notifica_richiesta_creata">
                    <Implementation>
                        <Tool Id="selectAttribute">
                            <ActualParameters>
                                <ActualParameter>ProcessClass</ActualParameter>
                                <ActualParameter>Description</ActualParameter>
                                <ActualParameter>ProcessId</ActualParameter>
                                <ActualParameter>Output_nome</ActualParameter>
                            </ActualParameters>
                        </Tool>
                    </Implementation>
                    <Performer>System</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <ExtendedAttributes>
                        <ExtendedAttribute Name="JaWE_GRAPH_PARTICIPANT_ID" Value="System"/>
                        <ExtendedAttribute Name="JaWE_GRAPH_OFFSET" Value="350,58"/>
                    </ExtendedAttributes>
                </Activity>

.

_____________________________________________________________

Dove:

ProcessClass è la variabile predefinita che, presumiamo, identifica la classe del processo

Description è la variabile che identifica la descrizione

ProcessId è la variabile predefinita che, presumiamo, identifical'Id del processo

mentre Output_nome è una variabile di workflow che abbiamo definito, con JPEd, come stringa 

 

DOMANDA

Vorremmo sapere se e come diagnosticare l'origine dell'errore, oppure se è un malfunzionamento noto per cui Tecnoteca ha già predisposto una soluzione.

 

Grazie fin d'ora

Caterina Tedeschini

 

 

 

 

 

Previously Caterina wrote:

Nei nostri processi abbiamo utilizzato con successo, i seguenti tool activity:

concat, getCurrentTimestamp

Mentre, al contrario, intercettiamo un errore bloccante quando utilizziamo i tool di tipo:

SelectAttrbute

UpdateAttribute

A differenza dei primi due tool citati, questi utilizzano l'interfaccia SOAP di CMDBuild, che va configurata correttamente nel file Shark.conf.

Di seguito una parte dell'errore estratta dal file cmdbuild.log

[...]
faultString: org.enhydra.shark.api.internal.toolagent.ToolAgentGeneralException: Couldn't find repository location '/home/cmdbuild/tomcat/webapps/shark/conf/axisrepository'

[...]

DOMANDA

Vorremmo sapere se e come diagnosticare l'origine dell'errore, oppure se è un malfunzionamento noto per cui Tecnoteca ha già predisposto una soluzione.

Come scritto nei log che avete inviato, Shark non riesce a trovare il percorso /home/cmdbuild/tomcat/webapps/shark/conf/axisrepository. Vi consiglio di controllare che i percorsi e gli indirizzi alla fine del file Shark.conf siano corretti. Inoltre in futuro potrebbe essere utile controllare anche il file di log di Shark (catalina.out del Tomcat su cui gira), oltre che quello di CMDBuild.

 

 

Paolo

 

 

Grazie Paolo,

siamo intervenuti sul file shark.conf per modificare la sezione che riguarda l'axisrepository, e, dopo alcuni test con esito positivo, abbiamo verificato la correttezza dell'impostazione.

 

A nostra "parziale discolpa" sta un commento scritto nello stesso file shark.conf che riporta:

 

#DO NOT CHANGE: to modify these values, you have to reflect the changes also in cmdbuild/WEB-INF/web.xml (shark rest servlet) 

 

 

E che ci ha fuorviato.

Probabilmente dovrebbe essere aggiunta una indicazione esplicita nella documentazione tecnica di installazione.

 

Grazie di nuovo

 

Caterina Tedeschini

 

Previously Caterina wrote:

#DO NOT CHANGE: to modify these values, you have to reflect the changes also in cmdbuild/WEB-INF/web.xml (shark rest servlet) 

 

[...] ci ha fuorviato.

 

Grazie per la segnalazione. Per la prossima relase, che stiamo preparando proprio oggi, abbiamo provveduto a rendere più evidente nel file stesso quali siano i parametri da configurare.

 

 

Paolo

 

 

Io ho un problema simile con il mio processo il quale cerca di inserire una nuova scheda nella Classe Computer,ma non penso che sia un problema del repository. Il file shark.conf è stato modificato correttamente. Vi manso un po di log

 

CMDBUILD.log

 

 

AxisFault

 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException

 faultSubcode:

 faultString: org.enhydra.shark.api.internal.toolagent.ToolAgentGeneralException

 faultActor:

 faultNode:

 faultDetail:

    {http://xml.apache.org/axis/}hostname:mauro-desktop

 

 

..........

 

 

 

CATALINA.out id SHARK

 

 

cmdbuildInfo getStruct from name: inseriscipc

2010-11-02 15:47:07,215: Activity[Process Id=101_Package_inseriscipc_Process_inseriscipc, Id=102_101_Package_inseriscipc_Process_inseriscipc_Process_inseriscipc_act2, ba=null, ActDefId=Process_inseriscipc_act2] - Executing tool [id=createCard]

Tool agent map created, maximum number of mappings is 2147483646

Tool agent map created, maximum number of mappings is 2147483646

New mapping added to tool agent map, tool agent map currently has 1 mappings !

No condition for Process_inseriscipc_act2(tool #0 - createCard)

2010-11-02 15:47:07,617: No services directory was found under /opt/shark/webapps/shark/conf/axisrepository.

2010-11-02 15:47:07,655: Deploying module: rampart-1.4 - file:/opt/shark/webapps/shark/conf/axisrepository/modules/rampart-1.4.mar

cmdbuildInfo getStruct from name: Computer

java.lang.NullPointerException

    at org.cmdbuild.shark.toolagent.CreateCardToolAgent.customCreate(CreateCardToolAgent.java:131)

    at org.cmdbuild.shark.toolagent.CreateCardToolAgent.invokeWebService(CreateCardToolAgent.java:47)

    at org.cmdbuild.shark.toolagent.CreateCardToolAgent.invokeWebService(CreateCardToolAgent.java:1)

    at org.cmdbuild.shark.toolagent.AbstractWSToolAgent.innerInvoke(AbstractWSToolAgent.java:71)

    at org.cmdbuild.shark.toolagent.AbstractConditionalToolAgent.invokeApplication(AbstractConditionalToolAgent.java:76)

    at org.enhydra.shark.toolagent.DefaultToolAgent.invokeApplication(DefaultToolAgent.java:163)

    at org.enhydra.shark.toolagent.StandardToolAgentManager.invokeToolAgent(StandardToolAgentManager.java:146)

    at org.enhydra.shark.StandardToolActivityHandler$ToolRunner.invokeApplication(StandardToolActivityHandler.java:179)

    at org.enhydra.shark.StandardToolActivityHandler$ToolRunner.run(StandardToolActivityHandler.java:88)

    at org.enhydra.shark.StandardToolActivityHandler.executeActivity(StandardToolActivityHandler.java:46)

    at org.enhydra.shark.WfActivityImpl.runTool(WfActivityImpl.java:1489)

    at org.enhydra.shark.WfActivityImpl.startActivity(WfActivityImpl.java:1421)

    at org.enhydra.shark.WfActivityImpl.activate(WfActivityImpl.java:263)

    at org.enhydra.shark.WfProcessImpl.startActivity(WfProcessImpl.java:920)

    at org.enhydra.shark.WfProcessImpl.queueNext(WfProcessImpl.java:1136)

    at org.enhydra.shark.WfProcessImpl.run(WfProcessImpl.java:750)

    at org.enhydra.shark.WfProcessImpl.activity_complete(WfProcessImpl.java:971)

    at org.enhydra.shark.WfActivityImpl.finish(WfActivityImpl.java:443)

    at org.enhydra.shark.WfActivityImpl.complete(WfActivityImpl.java:368)

    at org.enhydra.shark.SharkUtilities.changeActivityState(SharkUtilities.java:1971)

    at org.enhydra.shark.WAPIImpl.changeWorkItemState(WAPIImpl.java:1206)

    at org.enhydra.shark.ws.WAPIWrapper.changeWorkItemState(WAPIWrapper.java:984)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)

    at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)

    at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)

    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

    at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)

    at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)

    at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

    at java.lang.Thread.run(Thread.java:662)

org.enhydra.shark.api.internal.toolagent.ToolAgentGeneralException

    at org.cmdbuild.shark.toolagent.AbstractWSToolAgent.innerInvoke(AbstractWSToolAgent.java:74)

    at org.cmdbuild.shark.toolagent.AbstractConditionalToolAgent.invokeApplication(AbstractConditionalToolAgent.java:76)

    at org.enhydra.shark.toolagent.DefaultToolAgent.invokeApplication(DefaultToolAgent.java:163)

    at org.enhydra.shark.toolagent.StandardToolAgentManager.invokeToolAgent(StandardToolAgentManager.java:146)

    at org.enhydra.shark.StandardToolActivityHandler$ToolRunner.invokeApplication(StandardToolActivityHandler.java:179)

    at org.enhydra.shark.StandardToolActivityHandler$ToolRunner.run(StandardToolActivityHandler.java:88)

    at org.enhydra.shark.StandardToolActivityHandler.executeActivity(StandardToolActivityHandler.java:46)

    at org.enhydra.shark.WfActivityImpl.runTool(WfActivityImpl.java:1489)

    at org.enhydra.shark.WfActivityImpl.startActivity(WfActivityImpl.java:1421)

    at org.enhydra.shark.WfActivityImpl.activate(WfActivityImpl.java:263)

    at org.enhydra.shark.WfProcessImpl.startActivity(WfProcessImpl.java:920)

    at org.enhydra.shark.WfProcessImpl.queueNext(WfProcessImpl.java:1136)

    at org.enhydra.shark.WfProcessImpl.run(WfProcessImpl.java:750)

    at org.enhydra.shark.WfProcessImpl.activity_complete(WfProcessImpl.java:971)

    at org.enhydra.shark.WfActivityImpl.finish(WfActivityImpl.java:443)

    at org.enhydra.shark.WfActivityImpl.complete(WfActivityImpl.java:368)

    at org.enhydra.shark.SharkUtilities.changeActivityState(SharkUtilities.java:1971)

    at org.enhydra.shark.WAPIImpl.changeWorkItemState(WAPIImpl.java:1206)

    at org.enhydra.shark.ws.WAPIWrapper.changeWorkItemState(WAPIWrapper.java:984)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)

    at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)

    at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)

    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

    at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)

    at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)

    at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

    at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.NullPointerException

    at org.cmdbuild.shark.toolagent.CreateCardToolAgent.customCreate(CreateCardToolAgent.java:131)

    at org.cmdbuild.shark.toolagent.CreateCardToolAgent.invokeWebService(CreateCardToolAgent.java:47)

    at org.cmdbuild.shark.toolagent.CreateCardToolAgent.invokeWebService(CreateCardToolAgent.java:1)

    at org.cmdbuild.shark.toolagent.AbstractWSToolAgent.innerInvoke(AbstractWSToolAgent.java:71)

    ... 46 more

2010-11-02 15:47:11,248: DefaultToolAgent - can't execute tool agent class org.cmdbuild.shark.toolagent.CreateCardToolAgent - application  terminated incorrectly: org.enhydra.shark.api.internal.toolagent.ToolAgentGeneralException

2010-11-02 15:47:11,248: StandardToolActivityHandler.invokeApplication took 3975 millis for createCard [ actId=102_101_Package_inseriscipc_Process_inseriscipc_Process_inseriscipc_act2],WMSessionHandle[Id=5,vendorData=admin@SuperUser]

2010-11-02 15:47:11,249: Activity[Process Id=101_Package_inseriscipc_Process_inseriscipc, Id=102_101_Package_inseriscipc_Process_inseriscipc_Process_inseriscipc_act2, ba=null, ActDefId=Process_inseriscipc_act2] - failed to execute tool [id=createCard]

Event audit - Activity 102_101_Package_inseriscipc_Process_inseriscipc_Process_inseriscipc_act2 state changed from open.running to closed.terminated

 

cmdbuildInfo getStruct from name: inseriscipc

2010-11-02 15:47:11,265: Process[key=101_Package_inseriscipc_Process_inseriscipc,mgrname=Package_inseriscipc#9#Process_inseriscipc] - Activity[Process Id=101_Package_inseriscipc_Process_inseriscipc, Id=102_101_Package_inseriscipc_Process_inseriscipc_Process_inseriscipc_act2, ba=null, ActDefId=Process_inseriscipc_act2] is terminated.

2010-11-02 15:47:11,266: WAPIImpl.changeWorkItemState took 4231 millis for proc=101_Package_inseriscipc_Process_inseriscipc,workitem=101_101_Package_inseriscipc_Process_inseriscipc_Process_inseriscipc_act1#admin,newState=closed.completed,WMSessionHandle[Id=5,vendorData=admin@SuperUser]