Zdravim, Po dalsim zkoumani jsem problem lokalizoval jako chybu JBossu pri deserializaci primitivnich trid (Boolean.TYPE, Integer.TYPE aspol.), ktere predavam do volaneho session beanu.
Diky tomu, ze pro nasledne volani business objektu pouzivam Apache beanutils, jako workaround funguje transformace primitivnich trid na prislusne wrapper tridy (Boolean.TYPE -> Boolean.class apod.) pred volanim session beanu. S wrapper tridami ten Jbossi deserializator problem nema. Trochu hack, ale hlavne, ze to funguje. Honza -----Původní zpráva----- Od: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] za uživatele Jan Moravec Odesláno: Tuesday, May 15, 2007 12:11 Komu: 'Java' Předmět: Jboss - No ClassLoaders found for: boolean / int Zdravim, Nesetkal se zde nahodou nekdo s problemem s volanim metod na remote (staleless) session beanu pres JBoss klient, kdy volani na klientu konci s: java.lang.NullPointerException at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:421) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:209) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136) at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648) ... at org.jboss.invocation.pooled.server.ServerThread.run(ServerThread.java:156) Caused by: java.lang.NullPointerException at org.jboss.ejb.plugins.CallValidationInterceptor.validateArguments(CallValidationInterceptor.java:73) at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:62) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205) ... 16 more A na serveru s: 2007-05-15 11:49:17,109 ERROR (PooledInvokerThread-192.168.1.65-3) [STDERR] java.lang.ClassNotFoundException: No ClassLoaders found for: boolean ^^^ Tohle je asi nejzajimavejsi 2007-05-15 11:49:17,109 ERROR (PooledInvokerThread-192.168.1.65-3) [STDERR] at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:306) ... 2007-05-15 11:49:17,109 ERROR (PooledInvokerThread-192.168.1.65-3) [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) 2007-05-15 11:49:17,109 ERROR (PooledInvokerThread-192.168.1.65-3) [STDERR] at org.jboss.invocation.pooled.interfaces.PooledMarshalledValue.get(PooledMarshalledValue.java:93) 2007-05-15 11:49:17,109 ERROR (PooledInvokerThread-192.168.1.65-3) [STDERR] at org.jboss.invocation.pooled.interfaces.PooledMarshalledInvocation.getArguments(PooledMarshalledInvocation.java:165) 2007-05-15 11:49:17,109 ERROR (PooledInvokerThread-192.168.1.65-3) [STDERR] at org.jboss.ejb.Container.invoke(Container.java:918) Dle mych experimentu ma JBoss klient problem s volanim metod, ktere maji alespon jeden argument primitivniho typu(odzkouseno s boolean, int, ...). Pokud volana metoda vraci primitivni typ, problem uz neni. Pokud upravim hlavicky metod a misto primitivnich typu argumentu pouziji prislusne wrappery (Boolean,, Integer, ...), problem zmizi. Navic se toto chovani vyskytuje jen pri volani pres JBoss klienta. Pokud volam metody treba z JSP na serveru, problem neni. Ale to muze byt i diky nastaveni "call-by-reference", kdy se predavane parametry nevaliduji/neserializuji apod. Trochu jsem popis zjednodusil v tom, ze v mem pripade se volani metod na vzdalenych business objektech provadi pres jediny genericky fasadni bean majici jedinou metodou invokeBOMethod(Class boType, String method, Class[] argTypes, Object[] args), takze ty primitivni typy a hodnoty jsou na vzdaleny session bean predavany uvnitr poli. IMO by toto nemelo hrat zasadni roli. Dekuji za pripadna nakopnuti, Honza PS: v Jboss JIRA/Google jsem o tomto problemu moc nenasel. Vetsina podobnych problemu je kolem neprimitivnich trid, coz je vetsinou problem s nastavenim classpath/rozdilnyma verzema trid na serveru/klientu apod.
