Quoting Benjamin Schmeling <[EMAIL PROTECTED]>:

Hi Benjamin,

> Yes you are absolutely right. Thanks; after exposing my application as 
> Web Service this is working now. But when I call my Web Service the 
> second time there is a exception at:
> 
> tm.begin();

pls check whether you have properly configured all the handlers for both inflow 
and outflow. also pls let me know for what protocol (completion/2PC etc.) the 
registration is.

thanks,
--dasarath

> 
> The exception is:
> 
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/ws/2004/10/wscoor}InvalidState
>  faultSubcode:
>  faultString: The message was invalid for the current state of the activity.
>  faultActor:
>  faultNode:
>  faultDetail:
>     {http://xml.apache.org/axis/}stackTrace:The message was invalid for 
> the current state of the activity.
>     at 
> org.apache.kandula.coordinator.Coordinator.&lt;clinit&gt;(Coordinator.java:29)
>     at 
> org.apache.kandula.coordinator.CoordinatorImpl.registerOperation
(CoordinatorImpl.java:63)
>     at 
> org.apache.kandula.coordinator.RegistrationImpl.registerOperation
(RegistrationImpl.java:31)
> 
> This exception occurs when I invoke the second call of my TransactionWS 
> where I want to do exactly the same again. In this case there is no 
> message to the activcation coordinator but the first messages goes to 
> the registrationCoordinator which does not give any response.
> 
> 
> My workflow is like this:
> 
> [BankOne] debit(1, 20)
> [Bank] opening connection
> [BankDBMS] isSameRM
> [BankDBMS] start
> [BankDBMS] debit
> [BankDBMS] after debit amount = 480
> [Bank] closing connection
> [BankDBMS] end
> true
> [BankOne] credit(1, 20)
> [Bank] opening connection
> [BankDBMS] isSameRM
> [BankDBMS] isSameRM
> [BankDBMS] start
> [BankDBMS] credit
> [Bank] closing connection
> [BankDBMS] end
> true
> [CallbackRegistry] registerCallback: timeout= 180000
> [BankDBMS] end
> [BankDBMS] end
> [BankDBMS] prepare
> [BankDBMS] prepare
> [BankDBMS] commit
> [BankDBMS] 480
> [BankDBMS] commit
> [BankDBMS] 520
> [TransactionService] committed
> 
> Thanks,
> 
> Benjamin
> > Quoting Benjamin Schmeling <[EMAIL PROTECTED]>:
> >
> >   
> >> Thank you very much for your support (Hannes and Dasarath)
> >>
> >> The example is really that what I needed and I got my Banking Service 
> >> working now. The only problem that remains is  that the calling of the 
> >> commit() operation never returns. When I terminate my TestCase manually 
> >> and call it another time, there is a problem with the coordinator and 
> >> the transaction cannot be started again. How could I fix this?
> >>     
> >
> > I presume you are running your client as a standalone application--
> correct? 
> > the commit/rollback operations wait for the COMMITTED/ABORTED messages from
> the 
> > coordinator. However, a standalone application cannot receive these
> messages. 
> > So the solution is to run your client inside a container like Tomcat where
> 
> > kandula has been deployed. That's what I've done in my example code.
> Whenever, 
> > we send an async message to which we expect a reply, kandula creates a
> dynamic 
> > endpoint-- axis2 does this automatically but for now we have to do it our 
> > selves on axis1.x.
> >
> > Earlier on we were able to run standalone apps without trouble b'cos we
> were 
> > using sync porttypes but now that we have switched to async, this is no
> longer 
> > possible. In fact, the reason you are able to even come this far is b'cos 
> > activation and registration still use sync porttypes!
> >
> > thanks,
> > --dasarath
> >
> >
> >   
> >> TransactionManagerImpl tm =
> >>         TransactionManagerImpl.getInstance();
> >>       
> >>             getBalance("1","DeutscheBankWS");
> >>             tm.begin();
> >>             sendDebit("20", "1","DeutscheBankWS");
> >>             sendCredit("20", "1","CommerzBankWS");
> >>             tm.commit(); <---
> >>
> >> Thanks,
> >>
> >> Benjamin
> >>     
> >>> Quoting Hannes Erven <[EMAIL PROTECTED]>:
> >>>
> >>>   
> >>>       
> >>>> Hi Benjamin,
> >>>>
> >>>>
> >>>>  >    * completionCoordinator is called and it returns no response
> >>>>  > (containing <Commit xsi:nil="true"
> >>>>  > xmlns="http://schemas.xmlsoap.org/ws/2004/10/wsat"/>)
> >>>>  >    * participant is called and it returns no response
> >>>>  >    * coordinator is called and it returns no response
> >>>>  >    * completionInitiator is called and it returns no response
> >>>>
> >>>> That's OK, since those calls aren't expected to return anything. The 
> >>>> "Commit" message just tells the coordinator to commit. Once it has, it 
> >>>> sends a message to the completionInitiator containing the result - 
> >>>> Commited or Rolled Back.
> >>>> (The same pattern applies to the calls between participant ("prepare") 
> >>>> and coordintor.)
> >>>>     
> >>>>         
> >>> the reply to prepare can be either PREPARED or ABORTED. But both these
> >>>       
> >> messages 
> >>     
> >>> are sent over seperate connections. you should be able to them however.
> >>>
> >>> --dasarath
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >>>   
> >>>       
> >>
> >>     
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> >   
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to