named catch branch on scope throws exception
meghanai_99 Sep 28, 2007 12:05 AMI 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.