[jboss-user] [JBoss jBPM] - named catch branch on scope throws exception

meghanai_99 do-not-reply at jboss.com
Fri Sep 28 00:05:32 EDT 2007


I have a fault handler on scope. The BPEL snippet looks like this -

  | <scope name="Scope">
  |       <faultHandlers>
  |         <catch faultName="GetQuoteFault" faultVariable="StockQuote-GetQuoteFault">
  |           <sequence>
  |             <assign name="Calculate3">
  |               <copy>
  |                 <from expression="'updated from catch handler'" />
  |                 <to part="parameters" query="/ns9:UpdateItem/ns9:item/ns9:title" variable="aewebservices70_UpdateItem-UpdateItem" />
  |               </copy>
  |             </assign>
  |           </sequence>
  |         </catch>
  |       </faultHandlers>
  | 

where variable is declared globally as 

  | <variable name="StockQuote-GetQuoteFault" messageType="ns10:GetQuoteFault" />
  | 

The wsdl message is defined as

  | <wsdl:fault name="GetQuoteFault">
  |         <soap:fault use="literal" name="GetQuoteFault"/>
  |       </wsdl:fault>
  | 

However when it reaches to finding the messageType in ImportDefinition class I get following error -

  | Caused by: org.hibernate.WrongClassException: Object with id: 3571 was not of th
  | e specified subclass: org.jbpm.bpel.variable.def.MessageType (loaded object was
  | of wrong class class org.jbpm.bpel.variable.def.SchemaType)
  |         at org.hibernate.loader.Loader.instanceAlreadyLoaded(Loader.java:1234)
  |         at org.hibernate.loader.Loader.getRow(Loader.java:1186)
  |         at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
  |         at org.hibernate.loader.Loader.doQuery(Loader.java:689)
  |         at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo
  | ader.java:224)
  |         at org.hibernate.loader.Loader.loadCollection(Loader.java:1918)
  |         at org.hibernate.loader.collection.CollectionLoader.initialize(Collectio
  | nLoader.java:36)
  |         at org.hibernate.persister.collection.AbstractCollectionPersister.initia
  | lize(AbstractCollectionPersister.java:565)
  |         at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onIn
  | itializeCollection(DefaultInitializeCollectionEventListener.java:60)
  |         at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:
  | 1716)
  |         at org.hibernate.collection.AbstractPersistentCollection.initialize(Abst
  | ractPersistentCollection.java:344)
  |         at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPe
  | rsistentCollection.java:86)
  |         at org.hibernate.collection.AbstractPersistentCollection.readElementByIn
  | dex(AbstractPersistentCollection.java:161)
  |         at org.hibernate.collection.PersistentMap.get(PersistentMap.java:146)
  |         at org.jbpm.bpel.graph.def.ImportDefinition.getMessageType(ImportDefinit
  | ion.java:270)
  | 

I see while debugging that when it is inside the scope the 'messageTypes' map member is null however when it is on global scope, that member has number of QNames for my webservices.

Is named catch supposed to work? Please let me know if I am doing something wrong. I would appreciate if someone knows a workaround if this is a bug.

Thank you,
Meghana.

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4089549



More information about the jboss-user mailing list