No rollback in case of exception in ejbStore()

2002-05-15 Thread Valeri . Kireitchik
Title: No rollback in case of exception in ejbStore()





Configuration:
Orion 1.5.2/1.5.4, Oracle 9i
1 SFSB and 2 EB, transactional attributes = Required for all beans.
Transaction is initiated by call of SFSB method updateRow(). SFSB calls 2 EB setName() methods. SFSB implements SessionSynchronization interface.
If in ejbStore() of any EB exception happens (for example throw new EJBException() or division by zero) the following happens:

- client receive the following: com.evermind.server.rmi.OrionRemoteException: Transaction was rolled back: Error preparing bean instance: com.evermind.transaction.MarshallingXAExceptionm ...
- transaction is commited !!! - checked directly in database and via afterCommit() callback.
- transaction is repeated 4 times (!) just as it was rollbacked

When such exception happens in business methods or ejbLoad() transaction is correctly rollbacked.
Test case is enclosed.
 RollbackTestCase.zip 
Note, only that table was updated that corresponds to EB whose ejbStore() did not experience exception, in other words transaction atomicity is corrupted. 

I would appreciate any help or ideas. And you may check your code - probably the same problem is sleeping there.


ITC-M, SIS Company
Mr. Valeri Kireitchik 
Head of Application Software Department 


Fujitsu Siemens Computers Qualified Partner 
Microsoft Certified Partner 
Oracle Partner Program Member 


Surganova 24-406 
220012 Minsk 
Republic of Belarus 
ph.: +375 (17) 262 50 23 
fax: +375 (17) 262 55 91 
http://www.sis-group.com/ 






RollbackTestCase.zip
Description: Binary data


ClassCastException in generated code

2002-05-15 Thread Tim Joyce

Hi,

I am getting a rather nasty ClassCastException when i try and remove a
many-to-many join (implemented like the MovieDatabase example). My question
is how do i go about debugging this? Is it possible to get access to the
generated .java files?

Thanks in advance for any advice

stack traces follow (sorry)

cheers

timj


com.evermind.server.rmi.OrionRemoteException: java.lang.ClassCastException:
ProductJoin_EntityBeanWrapper853
at com.evermind.server.ejb.EJBUtils.getUserException(.:199)
at
EntityProduct_EntityBeanWrapper838.removeBrand(EntityProduct_EntityBeanWrapp
er838.java:1805)
at com.mywds.ejb.session.LightWeightBean.updateProduct(Unknown Source)
at
LightWeight_StatelessSessionBeanWrapper834.updateProduct(LightWeight_Statele
ssSessionBeanWrapper834.java:4066)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.invoke(Unknown Source)
at org.apache.axis.strategies.InvocationStrategy.visit(Unknown Source)
at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
at org.apache.axis.SimpleChain.invoke(Unknown Source)
at org.apache.axis.server.AxisServer.invoke(Unknown Source)
at org.apache.axis.transport.http.AxisServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind._bxb._crd(.:501)
at com.evermind._bxb._ukb(.:170)
at com.evermind._cn._uab(.:576)
at com.evermind._cn._fm(.:189)
at com.evermind._bs.run(.:62)

Nested exception is:
java.lang.ClassCastException: ProductJoin_EntityBeanWrapper853
at
ProductJoinHome_EntityHomeWrapper1381.remove(ProductJoinHome_EntityHomeWrapp
er1381.java:16)
at com.mywds.ejb.entity.EntityProductBean.removeBrand(Unknown Source)
at
EntityProduct_EntityBeanWrapper838.removeBrand(EntityProduct_EntityBeanWrapp
er838.java:1791)
at com.mywds.ejb.session.LightWeightBean.updateProduct(Unknown Source)
at
LightWeight_StatelessSessionBeanWrapper834.updateProduct(LightWeight_Statele
ssSessionBeanWrapper834.java:4066)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.invoke(Unknown Source)
at org.apache.axis.strategies.InvocationStrategy.visit(Unknown Source)
at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
at org.apache.axis.SimpleChain.invoke(Unknown Source)
at org.apache.axis.server.AxisServer.invoke(Unknown Source)
at org.apache.axis.transport.http.AxisServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind._bxb._crd(.:501)
at com.evermind._bxb._ukb(.:170)
at com.evermind._cn._uab(.:576)
at com.evermind._cn._fm(.:189)
at com.evermind._bs.run(.:62)  




Begging for help

2002-05-15 Thread Jon Bricker

I'm begging for some help on this set up.  I'm using Glue Standard for using
SOAP calls.  Anyone that has used Glue with Orion before please help me out.

I've gotten the orion example from glue working. Now I'm trying to do something
practical. I've set up an app on Orion. It had to be a separate app because it
will be using EJBs that are already deployed.

So in server.xml I have

application name=cande path=../applications/cande.ear parent=catd /

catd is the application with the EJB I need. I need this to have the apps
share EJBs.

I have the GLUE-STD.jar in my WEB-INF/lib

my web.xml looks like this:
web-app

!-- Description --
servlet
servlet-name http /servlet-name
servlet-class electric.server.http.ServletServer /servlet-class

init-param
param-name electric.commands /param-name
param-value /orion-files/glue/commands.xml /param-value
/init-param

load-on-startup 1 /load-on-startup
/servlet

servlet-mapping
servlet-name http /servlet-name
url-pattern /* /url-pattern
/servlet-mapping

ejb-ref
ejb-ref-nameejb/CanDEDataMgr/ejb-ref-name
ejb-ref-typeSession/ejb-ref-type
homecom.lilly.javaatg.catd.ejb.CanDEDataMgrHome/home
remotecom.lilly.javaatg.catd.ejb.CanDEDataMgr/remote
/ejb-ref

/web-app

It is the same as the webapps/glue web.xml except for the file location of the
commands.xml and the reference to my EJB.

My commands.xml looks like this:
commands
invoke electric.registry.Registry.publishInstance( urn:cande, 
com.lilly.javaatg.catd.cande.DataLoadImpl ) /invoke
/commands

I wrote a test program to try this out. The main calls look like this:

String url = 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl;;

RemoteDataLoader dataLoad = (RemoteDataLoader) 
Registry.bind( url, RemoteDataLoader.class );
boolean answer = dataLoad.isUserValid(userID,password);

When I run it I get this error:
could not bind to path: 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl
Exception:
electric.registry.RegistryException: could not bind to path: 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl
at electric.net.soap.SOAPRegistry.bind(Unknown Source)
at electric.registry.compound.CompoundRegistry.bind(Unknown Source)
at electric.registry.Registry.bind(Unknown Source)
at electric.registry.Registry.bind(Unknown Source)
at ejbtest.main(ejbtest.java:78)
Caused by: java.io.IOException: HTTP GET error: 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl Internal Server 
Error. Response code: 500: unable to load file 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl

I've tried generating the wsdl and pointing the console to it but that does not
work. 

What am I missing to make this work? 


=
Jon Bricker

You should never settle for the lesser of two Weasels.

__
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com




test - please not reply

2002-05-15 Thread Valeri . Kireitchik
Title: test - please not reply








ITC-M, SIS Company
Mr. Valeri Kireitchik 
Head of Application Software Department 


Fujitsu Siemens Computers Qualified Partner 
Microsoft Certified Partner 
Oracle Partner Program Member 


Surganova 24-406 
220012 Minsk 
Republic of Belarus 
ph.: +375 (17) 262 50 23 
fax: +375 (17) 262 55 91 
http://www.sis-group.com/ 






RE: ClassCastException in generated code

2002-05-15 Thread Greg Davis

Did you change your bean recently? It sounds like your remotes are out of
date. Ensure you remotes on the client side match up properly.  Also ensure
any Serialiazable classes you pass via method calls are not updated in only
the client of server.  This error normally happens when you either try to
cast the wrong object (I.e. in Collections this can happen easily if you are
not careful) and serialized objects (when the new class doesn't match up to
the old one).  These will compile fine, but break during runtime.

Without any other information, this is all I can add. 

Hope this helps.

Greg

-Original Message-
From: Tim Joyce [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, May 15, 2002 4:16 AM
To: Orion-Interest
Subject: ClassCastException in generated code


Hi,

I am getting a rather nasty ClassCastException when i try and remove a
many-to-many join (implemented like the MovieDatabase example). My question
is how do i go about debugging this? Is it possible to get access to the
generated .java files?

Thanks in advance for any advice

stack traces follow (sorry)

cheers

timj


com.evermind.server.rmi.OrionRemoteException: java.lang.ClassCastException:
ProductJoin_EntityBeanWrapper853
at com.evermind.server.ejb.EJBUtils.getUserException(.:199)
at
EntityProduct_EntityBeanWrapper838.removeBrand(EntityProduct_EntityBeanWrapp
er838.java:1805)
at com.mywds.ejb.session.LightWeightBean.updateProduct(Unknown Source)
at
LightWeight_StatelessSessionBeanWrapper834.updateProduct(LightWeight_Statele
ssSessionBeanWrapper834.java:4066)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.invoke(Unknown Source)
at org.apache.axis.strategies.InvocationStrategy.visit(Unknown Source)
at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
at org.apache.axis.SimpleChain.invoke(Unknown Source)
at org.apache.axis.server.AxisServer.invoke(Unknown Source)
at org.apache.axis.transport.http.AxisServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind._bxb._crd(.:501)
at com.evermind._bxb._ukb(.:170)
at com.evermind._cn._uab(.:576)
at com.evermind._cn._fm(.:189)
at com.evermind._bs.run(.:62)

Nested exception is:
java.lang.ClassCastException: ProductJoin_EntityBeanWrapper853
at
ProductJoinHome_EntityHomeWrapper1381.remove(ProductJoinHome_EntityHomeWrapp
er1381.java:16)
at com.mywds.ejb.entity.EntityProductBean.removeBrand(Unknown Source)
at
EntityProduct_EntityBeanWrapper838.removeBrand(EntityProduct_EntityBeanWrapp
er838.java:1791)
at com.mywds.ejb.session.LightWeightBean.updateProduct(Unknown Source)
at
LightWeight_StatelessSessionBeanWrapper834.updateProduct(LightWeight_Statele
ssSessionBeanWrapper834.java:4066)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown Source)
at org.apache.axis.providers.java.JavaProvider.invoke(Unknown Source)
at org.apache.axis.strategies.InvocationStrategy.visit(Unknown Source)
at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
at org.apache.axis.SimpleChain.invoke(Unknown Source)
at org.apache.axis.server.AxisServer.invoke(Unknown Source)
at org.apache.axis.transport.http.AxisServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind._bxb._crd(.:501)
at com.evermind._bxb._ukb(.:170)
at com.evermind._cn._uab(.:576)
at com.evermind._cn._fm(.:189)
at com.evermind._bs.run(.:62)  




RE: Begging for help

2002-05-15 Thread Satter, Rabi

Can you point a browser at the url and get the wsdl? 

Are you trying to access the EJB directly? If so you need pro which can talk
to stateless session beans. 

Probably doesn't matter but you might try putting the jar file in the
orion/lib directory.

Hopes this helps.

-Original Message-
From: Jon Bricker [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, May 15, 2002 7:56 AM
To: Orion-Interest
Subject: Begging for help


I'm begging for some help on this set up.  I'm using Glue Standard for using
SOAP calls.  Anyone that has used Glue with Orion before please help me out.

I've gotten the orion example from glue working. Now I'm trying to do
something
practical. I've set up an app on Orion. It had to be a separate app because
it
will be using EJBs that are already deployed.

So in server.xml I have

application name=cande path=../applications/cande.ear parent=catd /

catd is the application with the EJB I need. I need this to have the apps
share EJBs.

I have the GLUE-STD.jar in my WEB-INF/lib

my web.xml looks like this:
web-app

!-- Description --
servlet
servlet-name http /servlet-name
servlet-class electric.server.http.ServletServer /servlet-class

init-param
param-name electric.commands /param-name
param-value /orion-files/glue/commands.xml /param-value
/init-param

load-on-startup 1 /load-on-startup
/servlet

servlet-mapping
servlet-name http /servlet-name
url-pattern /* /url-pattern
/servlet-mapping

ejb-ref
ejb-ref-nameejb/CanDEDataMgr/ejb-ref-name
ejb-ref-typeSession/ejb-ref-type
homecom.lilly.javaatg.catd.ejb.CanDEDataMgrHome/home
remotecom.lilly.javaatg.catd.ejb.CanDEDataMgr/remote
/ejb-ref

/web-app

It is the same as the webapps/glue web.xml except for the file location of
the
commands.xml and the reference to my EJB.

My commands.xml looks like this:
commands
invoke electric.registry.Registry.publishInstance( urn:cande, 
com.lilly.javaatg.catd.cande.DataLoadImpl ) /invoke
/commands

I wrote a test program to try this out. The main calls look like this:

String url = 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl;;

RemoteDataLoader dataLoad = (RemoteDataLoader) 
Registry.bind( url, RemoteDataLoader.class );
boolean answer = dataLoad.isUserValid(userID,password);

When I run it I get this error:
could not bind to path: 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl
Exception:
electric.registry.RegistryException: could not bind to path: 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl
at electric.net.soap.SOAPRegistry.bind(Unknown Source)
at electric.registry.compound.CompoundRegistry.bind(Unknown Source)
at electric.registry.Registry.bind(Unknown Source)
at electric.registry.Registry.bind(Unknown Source)
at ejbtest.main(ejbtest.java:78)
Caused by: java.io.IOException: HTTP GET error: 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl Internal Server 
Error. Response code: 500: unable to load file 
http://duke1.d51.lilly.com:8088/cande/urn:cande.wsdl

I've tried generating the wsdl and pointing the console to it but that does
not
work. 

What am I missing to make this work? 


=
Jon Bricker

You should never settle for the lesser of two Weasels.

__
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com




Can't find servlet

2002-05-15 Thread Krishnan, Sri

Hi,
I am registering the servlet in web.xml even then, I am getting an error
saying that the servlet not found. do I need to register the servlet
anywhere else ?
this may be trivial but , could not figure out.

Thanks
Sri