CMDBuild Forum

Error when Adding Process

I just downloaded the latest build to give it a try the first time. I was able to get it up and running. However, when I tried to add a new process but got this error though the process seemed to be successfully added. I’d appreciate it if someone can tell me what the error is about:

 
Call: services/json/workflow/xpdlversions
------------------------------------------
Error: org.cmdbuild.workflow.CMWorkflowException: (404)Not Found
	at org.cmdbuild.workflow.service.TransactedSharkService$TransactedExecutor.initAndConnect(TransactedSharkService.java:49)
	at org.cmdbuild.workflow.service.TransactedSharkService$TransactedExecutor.execute(TransactedSharkService.java:23)
	at org.cmdbuild.workflow.service.TransactedSharkService.downloadAllPackages(TransactedSharkService.java:127)
	at org.cmdbuild.workflow.xpdl.CachedProcessDefinitionStore$LazyClassNameToPackageInfoMap.fetchProcessDefinitions(CachedProcessDefinitionStore.java:119)
	at org.cmdbuild.workflow.xpdl.CachedProcessDefinitionStore$LazyClassNameToPackageInfoMap.checkLoaded(CachedProcessDefinitionStore.java:111)
	at org.cmdbuild.workflow.xpdl.CachedProcessDefinitionStore$LazyClassNameToPackageInfoMap.getPackageInfoByClass(CachedProcessDefinitionStore.java:98)
	at org.cmdbuild.workflow.xpdl.CachedProcessDefinitionStore.getPackageId(CachedProcessDefinitionStore.java:209)
	at org.cmdbuild.workflow.xpdl.CachedProcessDefinitionStore.getPackageVersions(CachedProcessDefinitionStore.java:204)
	at org.cmdbuild.workflow.xpdl.AbstractProcessDefinitionManager.getVersions(AbstractProcessDefinitionManager.java:37)
	at org.cmdbuild.workflow.ProcessClassImpl.getDefinitionVersions(ProcessClassImpl.java:161)
	at org.cmdbuild.logic.WorkflowLogic.getProcessDefinitionVersions(WorkflowLogic.java:429)
	at org.cmdbuild.servlets.json.Workflow.xpdlVersions(Workflow.java:238)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:97)
	at org.cmdbuild.servlets.JSONDispatcher.doPost(JSONDispatcher.java:57)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:144)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:33)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:39)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: (404)Not Found
	at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
	at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
	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.client.AxisClient.invoke(AxisClient.java:165)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at org.enhydra.shark.ejb.client.ws.WAPIEJBEndpointPortSoapBindingStub.connect(Unknown Source)
	at org.cmdbuild.workflow.service.TransactedSharkService$TransactedExecutor.initAndConnect(TransactedSharkService.java:46)
	... 48 more

Probably do not have properly configured the Shark webapp (see Technical Manual)
CMDBuild Team

That’s something I’m a little confused about. Do I need to install the Shark server? The tech manual didn’t really specify that. I downloaded shark-cmdbuild-2.1.7.zip file and put the .war file in the webapps folder. This is what I see from shark.log:

 
2014-02-21 09:17:56,684: SharkEngineManager -> Working with 'org.enhydra.shark.CallbackUtil' implementation of core CallbackUtilities API
2014-02-21 09:17:56,684: SharkEngineManager -> Working with 'org.enhydra.shark.SharkObjectFactoryExt' implementation of core SharkObjectFactory API
2014-02-21 09:17:56,684: SharkEngineManager -> Working with 'org.enhydra.shark.StandardToolActivityHandler' implementation of core ToolAgentManager API
2014-02-21 09:17:56,684: SharkEngineManager -> Working with 'org.enhydra.shark.logging.StandardLoggingManager' implementation of Logging API
2014-02-21 09:17:57,115: StandardAssignmentManager -> Working with 'org.enhydra.shark.usergroup.DODSUserGroupManagerAdmin' implementation of UserGroup API
2014-02-21 09:17:57,176: StandardAssignmentManager -> Working with 'org.enhydra.shark.partmappersistence.DODSParticipantMappingAdmin' implementation of ParticipantMapping API
2014-02-21 09:17:57,176: SharkEngineManager -> Working with 'org.enhydra.shark.assignment.StandardAssignmentManager' implementation of Assignment API
2014-02-21 09:17:57,179: Process Cache configured - max. size is 100
2014-02-21 09:17:57,180: Resource Cache configured - max. size is 100
2014-02-21 09:17:57,180: SharkEngineManager -> Working with 'org.enhydra.shark.caching.LRUCacheMgr' implementation of Caching API
2014-02-21 09:17:57,532: DODSPersistentManager -> persisting String variables into BLOB for sizes greater than 4000
2014-02-21 09:17:57,532: SharkEngineManager -> Working with 'org.enhydra.shark.instancepersistence.DODSSelectivePersistenceManager' implementation of InstancePersistence API
2014-02-21 09:17:57,541: DODSGlobalPersistenceManager -> persisting String data into BLOB for sizes greater than 4000
2014-02-21 09:17:57,541: SharkEngineManager -> Working with 'org.enhydra.shark.globalpersistence.DODSGlobalPersistenceManager' implementation of GlobalPersistence API
2014-02-21 09:17:58,830: SharkEngineManager -> Working with 'org.cmdbuild.workflow.CMDBuildEventAuditManager' implementation of EventAudit API
2014-02-21 09:17:58,867: SharkEngineManager -> Working with 'org.enhydra.shark.repositorypersistence.DODSRepositoryPersistenceManager' implementation of RepositoryPersistence API
2014-02-21 09:17:58,870: SharkEngineManager -> Working with 'org.enhydra.shark.scripting.StandardScriptingManager' implementation of Scripting API
2014-02-21 09:17:58,870: SharkEngineManager -> Working without Security API implementation - SecurityManager is not specified.
2014-02-21 09:17:58,973: StandardToolAgentManager -> Working with 'org.enhydra.shark.appmappersistence.DODSApplicationMappingAdmin' implementation of ApplicationMapPersistence API
2014-02-21 09:17:58,973: SharkEngineManager -> Working with 'org.enhydra.shark.toolagent.StandardToolAgentManager' implementation of ToolAgentManager API
2014-02-21 09:17:58,973: SharkEngineManager -> Working without wfEngineInteroperability API implementation - WfEngineInteroperability implementation is not specified.
2014-02-21 09:17:58,986: SharkUtilities -> synchronizing XPDL cache
 
 
However, when I try to go to http://localhost:8080/shark in the browser I get a 404. Is it because my shark web service is not configured correctly? If so, how do I do it?

You do not have to install Shark server, the Shark webapp that you have already installed is sufficient.
But probably you have not configured it correctly (Technical Manual page 17).
CMDBuild Team

I think I’ve followed everything on page 17. 

 
Here's what I have in shark.conf:
 
DatabaseManager.ConfigurationDir=C:\\apache-tomcat-7.0.52\\webapps\\cmdbuild-shark-server-2.1.7\\conf\\dods
 
(is this right? I don't see this physical folder on my computer)
 
 
# CMDBuild connection settings
org.cmdbuild.ws.url=http://localhost:8080/cmdbuild/
org.cmdbuild.ws.username=workflow
org.cmdbuild.ws.password=changeme
 
 
 

I was able to solve this problem by the following steps:

 
1. Stop Tomcat
2. Delete the folder webapps\shark-cmdbuild-2.1.7 under Tomcat
3. Rename shark-cmdbuild-2.1.7.war to shark.war under Tomcat\webapps
4. Restart Tomcat
 
It seems CMDBuild can't deal with either a long folder name like "shark-cmdbuild-2.1.7" or it's having problems with "-" or "." in the name.
 
Hope this helps people with the same problem.
 
Ps. This is on a Window 7 machine with CMDBuild 2.1.7.

By default CMDBuild look at Shark service at the URL http://localhost:8080/shark”, as specified in the configuration form at Administration Module > Setup > Workflow (Technical Manual page 19).
If you deployed the
Shark webapp with a different name without make congruent the configuration parameter is normal that the workflow sysyem did not work and now works again as soon as you’ve renamed the webapp with the default value.

CMDBuild Team