Hello community,

I'm facing the following problem: First l'll like to retrieve the current 
Process instance ID under execution from the current jbpmContext 
(getCurrentJbpmContext()) before the process call the web service. Looking in 
the data base hier may not give the expected results. 

I can retrieve the Process instance ID before it's persisted in the DB(what i'm 
looking for); this information is only in the CurrentJbpmContext, by calling 
findProcessDefinition(jbpmContext).

But after the call is performed the process information are well persisted in 
the data base but the generated response of the remote web service can't be 
send back to the calling client; Some where the token makes problem. See the 
error logs


anonymous wrote : 
  | 2007-01-17 23:53:56,961 DEBUG [org.hibernate.loader.Loader] done entity load
  | 2007-01-17 23:53:56,971 DEBUG [org.jbpm.bpel.def.Scope$FaultActionHandler] 
handling fault: token=Token(/normalFlow)
  | org.jbpm.bpel.exe.BpelFaultException: 
FaultValue(name={http://schemas.xmlsoap.org/ws/2004/03/business-process/}missingRequest)
  |     at 
org.jbpm.bpel.relation.jms.RelationContext.removeOutstandingRequest(RelationContext.java:185)
  |     at 
org.jbpm.bpel.relation.jms.JmsRelationService.reply(JmsRelationService.java:108)
  |     at org.jbpm.bpel.def.Reply.execute(Reply.java:28)
  |     at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
  |     at org.jbpm.graph.def.Transition.take(Transition.java:119)
  |     at org.jbpm.graph.def.Node.leave(Node.java:382)
  |     at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
  |     at org.jbpm.bpel.def.Assign.execute(Assign.java:41)
  |     at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
  |     at org.jbpm.graph.def.Transition.take(Transition.java:119)
  |     at org.jbpm.graph.def.Node.leave(Node.java:382)
  |     at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
  |     at org.jbpm.bpel.def.Invoke.execute(Invoke.java:29)
  |     at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
  |     at org.jbpm.graph.def.Transition.take(Transition.java:119)
  |     at org.jbpm.graph.def.Node.leave(Node.java:382)
  |     at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
  |     at org.jbpm.bpel.def.Assign.execute(Assign.java:41)
  |     at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
  |     at org.jbpm.graph.def.Transition.take(Transition.java:119)
  |     at org.jbpm.graph.def.Node.leave(Node.java:382)
  |     at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
  |     at 
org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:45)
  |     at org.jbpm.bpel.def.Receive.accept(Receive.java:64)
  |     at org.jbpm.bpel.def.Receive$$FastClassByCGLIB$$516412f0.invoke()
  |     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  |     at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
  |     at org.jbpm.bpel.def.Receive$$EnhancerByCGLIB$$8b85477d.accept()
  |     at 
org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:84)
  |     at org.jbpm.bpel.def.Sequence.accept(Sequence.java:84)
  |     at 
org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:29)
  |     at 
org.jbpm.bpel.def.BpelDefinition.messageReceived(BpelDefinition.java:110)
  |     at 
org.jbpm.bpel.relation.jms.StartListener.onMessage(StartListener.java:95)
  |     at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:694)
  |     at java.lang.Thread.run(Thread.java:595)
  | 2007-01-17 23:53:57,001 DEBUG [org.hibernate.loader.Loader] loading 
collection: [org.jbpm.bpel.def.Scope.faultHandlers#520]
  | .
  | ..
  | ...
  | ....
  | ......
  | 
  | 2007-01-17 23:53:59,389 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to 
close PreparedStatement (open PreparedStatements: 1, globally: 1)
  | 2007-01-17 23:53:59,440 DEBUG [org.hibernate.transaction.JDBCTransaction] 
re-enabling autocommit
  | 2007-01-17 23:53:59,440 DEBUG [org.hibernate.transaction.JDBCTransaction] 
committed JDBC Connection
  | 2007-01-17 23:53:59,440 DEBUG [org.hibernate.jdbc.ConnectionManager] 
aggressively releasing JDBC connection
  | 2007-01-17 23:53:59,440 DEBUG [org.hibernate.jdbc.ConnectionManager] 
releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open 
ResultSets: 0, globally: 0)]
  | 2007-01-17 23:53:59,440 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] 
Invalidating (again): org.jbpm.bpel.exe.ScopeInstance#103
  | 2007-01-17 23:53:59,440 DEBUG [net.sf.ehcache.store.MemoryStore] 
org.jbpm.bpel.exe.ScopeInstanceCache: Cannot remove entry as key 
org.jbpm.bpel.exe.ScopeInstance#103 was not found
  | 2007-01-17 23:53:59,440 DEBUG 
[org.jbpm.persistence.db.DbPersistenceService] closing hibernate session
  | 2007-01-17 23:53:59,440 DEBUG [org.jbpm.svc.Services] closing service 
'relation': [EMAIL PROTECTED]
  | 2007-01-17 23:53:59,440 DEBUG [org.jbpm.svc.Services] closing service 
'logging': [EMAIL PROTECTED]
  | 2007-01-17 23:53:59,530 DEBUG [org.jbpm.configuration.JbpmContextInfo] 
creating jbpm context with service factories '[relation, logging, persistence]'
  | 2007-01-17 23:53:59,530 DEBUG [org.jbpm.JbpmContext] creating JbpmContext
  | 2007-01-17 23:53:59,530 DEBUG [org.jbpm.JbpmContext] closing JbpmContext
  | 2007-01-17 23:54:11,542 DEBUG 
[org.jboss.invocation.pooled.server.ServerThread] beginning dorun
  | 2007-01-17 23:54:28,411 DEBUG [org.jbpm.bpel.service.provider.PortProvider] 
response timeout expired: JMS_TQ1
  | 2007-01-17 23:54:28,411 INFO  [STDOUT] PortProvider: Throwing JMSResponse 
TimeOut Expired
  | 2007-01-17 23:54:28,421 DEBUG [javax.xml.rpc.soap.SOAPFaultException] new 
SOAPFaultException 
[code={http://schemas.xmlsoap.org/soap/envelope/}Server,string=The service is 
not in an appropiate state for the requested operation,actor=null,detail=null]
  | 2007-01-17 23:54:28,431 DEBUG [org.jbpm.bpel.service.provider.PortProvider] 
request caused a fault
  | javax.xml.rpc.soap.SOAPFaultException: The service is not in an appropiate 
state for the requested operation
  |     at 
org.jbpm.bpel.service.provider.PortProvider.receiveResponse(PortProvider.java:470)
  |     at 
org.jbpm.bpel.service.provider.PortProvider.handleRequest(PortProvider.java:213)
  |     at 
org.jboss.ws.jaxrpc.handler.HandlerWrapper.handleRequest(HandlerWrapper.java:121)
  |     at 
org.jboss.ws.jaxrpc.handler.HandlerChainBaseImpl.handleRequestInternal(HandlerChainBaseImpl.java:275)
  |     at 
org.jboss.ws.jaxrpc.handler.HandlerChainBaseImpl.handleRequest(HandlerChainBaseImpl.java:235)
  |     at 
org.jboss.ws.jaxrpc.handler.ServerHandlerChain.handleRequest(ServerHandlerChain.java:53)
  |     at 
org.jboss.ws.jaxrpc.handler.HandlerDelegateJAXRPC.callRequestHandlerChain(HandlerDelegateJAXRPC.java:96)
  |     at 
org.jboss.ws.server.AbstractServiceEndpointInvoker.callRequestHandlerChain(AbstractServiceEndpointInvoker.java:91)
  |     at 
org.jboss.ws.server.AbstractServiceEndpointInvoker.invoke(AbstractServiceEndpointInvoker.java:142)
  |     at 
org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:195)
  |     at 
org.jboss.ws.server.ServiceEndpointManager.processSOAPRequest(ServiceEndpointManager.java:373)
  |     at 
org.jboss.ws.server.StandardEndpointServlet.doPost(StandardEndpointServlet.java:116)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  |     at 
org.jboss.ws.server.StandardEndpointServlet.service(StandardEndpointServlet.java:77)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  |     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  |     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  |     at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  |     at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  |     at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |     at java.lang.Thread.run(Thread.java:595)
  | 2007-01-17 23:54:28,431 DEBUG [org.jbpm.JbpmContext] closing JbpmContext
  | 2007-01-17 23:54:28,431 DEBUG [org.jbpm.svc.Services] closing service 
'persistence': [EMAIL PROTECTED]
  | 2007-01-17 23:54:28,431 DEBUG 
[org.jbpm.persistence.db.DbPersistenceService] committing hibernate transaction
  | 2007-01-17 23:54:28,431 DEBUG [org.hibernate.transaction.JDBCTransaction] 
commit
  | 

i'll like to know if calling the methode 
RelationContext.findProcessDefinition() in  PortConsumer.java after JbpmContext 
jbpmContext = JbpmContext.getCurrentJbpmContext(); is correct. 

Is there any problem with hibernate or the jbpm-persistance when i call 
getCurrentJbpmContext(); in my methode and then 
RelationContext.findProcessDefinition(jbpmContext) call also the  
getCurrentJbpmContext() methode (consecutive calls of  getCurrentJbpmContext()) 
after performing some data base lookup with graphSession.jbpmContext ? 

For illustration i have 

  | public void myMethode(){
  | JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext(); 
  |   try{                  
  |     if (jbpmContext != null) {                      
  |                             RelationContext relationContext = 
getRelationContext();
  | /* I have a reference on the RelationContext-object in PortConsumer. That 
why getReleationContex: Is this OK ?*/ 
  |                        BpelDefinition bpelProcessdefinition = 
relationContext.findProcessDefinition(jbpmContext);
  |   }
  | }catch (execption e){e.printStackTrace();}
  | 

Is it possible that after calling 
relationContext.findProcessDefinition(jbpmContext); the current execution 
context has changed?


I'll appreciate any suggestion about what is wrong in my concept.


Best regards


Bertrand

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4003101#4003101

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4003101
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to