Hey there,

thanks for the super-speedy fix for the null attributes! now I get to
graduate to uglier problems...

my jca adapter supports CCI, which defines the interfaces you have to use
with your connections but leaves them devoid of any methods, thereby forcing
you to do a narrowing conversion on the JCA adapter inbound, and in the
client outbound. To the bean it looks like:

Record output = getconnection().getinteraction().execute(InteractionSpec
ispec, Record input)

and in my case, the interaction keeps a reference to the real connection and
passes the execute invocation directly to it.

so, my client is an EJB stateless session bean "MetaBean" (I couldn't seem
to get a reference from jndi to the connection factory from any client code
outside of jboss - is that intentional?) and when I run it, I get a
ClassCastException on the JCA-side when I go to do

SInteractionSpec sis = (SInteractionSpec)ispec;

(which is is built like: InteractionSpec <-- SInteractionSpec <--
SInteractionSpecImpl )

Here's the console logging:

[TRACE] com.xxx.impl.MetaBeanImpl:  Got a Connection
[TRACE] com.xxx.jca.cci.SNoTxInteraction:  new
SNoTxInteraction(com.siebel.sji.jca.cci.SNoTxConnection@4792d4)
[TRACE] com.xxx.impl.MetaBeanImpl:  Got an Interaction
[TRACE] com.xxx.jca.cci.SNoTxInteraction:  Record
execute(com.xxx.jca.cci.SInteractionSpecImpl@78dc4c,
com.xxx.impl.SRecordImpl@51283116)

[TRACE] ispec class is:com.xxx.jca.cci.SInteractionSpecImpl
[TRACE] ispec classloader is:java.net.URLClassLoader@3bdd48

[TRACE] input class is:com.xxx.impl.SRecordImpl
[TRACE] input classloader is:java.net.URLClassLoader@3bdd48

[TRACE] My classloader is:java.net.URLClassLoader@3a1834
[ERROR] com.xxx.jca.cci.SNoTxInteraction:
  Exception in class-cast:java.lang.ClassCastException:
com.xxx.jca.cci.SInteractionSpecImpl
[MetaBean] java.lang.ClassCastException:
com.xxx.jca.cci.SInteractionSpecImpl

Is there a place I can put the classes which are shared between the bean and
the rar? I tried lib/ext, and it did not work (threw class not found
exceptions). Otherwise, is something wrong with the classloader setup? Or am
I just doing something stupid?

thanks!

-d







--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]

Reply via email to