Hi-- I'm trying to configure jboss 3.0.4 w/tomcat4.1.12 for CMR for two tables in our Oracle DB. I use xdoclet1.1.2 to generate the interface and bean classes. I have managed CMP for both tables that I'm using, but am having some trouble joining the two for CMR.
Apologies in advance for the deluge of xml and code you are about to see... :) The bean is deployed just fine, but the following error stack is generated when I try to use the one bean to get the many bean via a Collection: eBillClient caught an unexpected exception! java.lang.reflect.UndeclaredThrowableException at $Proxy1.getSubscribers(Unknown Source) at client.eBill.eBillClient.main(eBillClient.java:54) Caused by: java.io.NotSerializableException: org.jboss.ejb.plugins.cmp.jdbc.bridge.RelationSet at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278) at java.rmi.MarshalledObject.<init>(MarshalledObject.java:92) at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:387) at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:7 01) at java.lang.Thread.run(Thread.java:536) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteC all.java:247) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133) at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source) at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProx y.java:138) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:108) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77 ) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80) at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:116) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76) ... 2 more Here is the relationship from ejb-jar.xml: <!-- Relationships --> <relationships > <ejb-relation > <ejb-relation-name>customer-subscriber</ejb-relation-name> <!-- bidirectional --> <ejb-relationship-role > <ejb-relationship-role-name>customer-has-subscribers</ejb-relationship-role- name> <multiplicity>One</multiplicity> <relationship-role-source > <ejb-name>account/customerBean</ejb-name> </relationship-role-source> <cmr-field > <cmr-field-name>subscribers</cmr-field-name> <cmr-field-type>java.util.Collection</cmr-field-type> </cmr-field> </ejb-relationship-role> <ejb-relationship-role > <ejb-relationship-role-name>subscriber-belongs-to-customer</ejb-relationship -role-name> <multiplicity>Many</multiplicity> <relationship-role-source > <ejb-name>account/subscriberBean</ejb-name> </relationship-role-source> <cmr-field > <cmr-field-name>customer</cmr-field-name> </cmr-field> </ejb-relationship-role> </ejb-relation> </relationships> Here is the relationship from jbosscmp-jdbc.xml: <relationships> <ejb-relation> <ejb-relation-name>customer-subscriber</ejb-relation-name> <foreign-key-mapping/> <ejb-relationship-role> <ejb-relationship-role-name>customer-has-subscribers</ejb-relationship-role- name> <key-fields> <key-field> <field-name>customerId</field-name> <column-name>customer_id</column-name> </key-field> </key-fields> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>subscriber-belongs-to-customer</ejb-relationship -role-name> <key-fields/> </ejb-relationship-role> </ejb-relation> </relationships> Here is the customer bean w/xdoclet tags: package com.uscc.account.entity; // uscc ejb imports import com.uscc.ejb.entity.defaultEntityBean; // util imports import java.util.Collection; /** * * // begin class level xdoclet attributes * @ejb:bean name="account/customerBean" * display-name="General customer and BAN information" * jndi-name="com/uscc/account/entity/customerBean" * view-type="remote" * type="CMP" * schema="account" * * @ejb:home extends="javax.ejb.EJBHome" * @ejb:interface extends="javax.ejb.EJBObject" * * @ejb:pk extends="java.lang.Object" * * @ejb:transaction type="Required" * * // begin jboss xdoclet attributes * @jboss:datasource name="OracleDB" * * @jboss:table-name table-name="customer" */ public abstract class customerBean extends defaultEntityBean { /** * @ejb:interface-method view="remote" * @ejb:persistent-field * @ejb:pk-field * * @jboss:column-name name="customer_id" */ public abstract Long getCustomerId(); /** * @ejb:interface-method view="remote" * @ejb:persistent-field * * @jboss:column-name name="customer_ssn" */ public abstract Long getSSN(); /** * @ejb:interface-method view="remote" * * @ejb:relation name="customer-subscriber" * role-name="customer-has-subscribers" */ public abstract Collection getSubscribers(); /** * @ejb:interface-method view="remote" */ public abstract void setSubscribers(Collection subscribers); } Here is the subscriber class: package com.uscc.account.entity; // billview ejb imports import com.uscc.ejb.entity.defaultEntityBean; import com.uscc.account.interfaces.customerBean; /** * * // begin class level xdoclet attributes * @ejb:bean name="account/subscriberBean" * display-name="General BAN information" * jndi-name="com/uscc/account/entity/subscriberBean" * view-type="remote" * type="CMP" * schema="subscriber" * * @ejb:home extends="javax.ejb.EJBHome" * @ejb:interface extends="javax.ejb.EJBObject" * * @ejb:pk extends="java.lang.Object" * * @ejb:transaction type="Required" * * // begin jboss xdoclet attributes * @jboss:datasource name="OracleDB" * * @jboss:table-name table-name="subscriber" */ public abstract class subscriberBean extends defaultEntityBean { /** * @ejb:interface-method view="remote" * @ejb:persistent-field * * @ejb:pk-field * * @jboss:column-name name="subscriber_no" */ public abstract String getSubscriberNo(); /** * @ejb:interface-method view="remote" * @ejb:persistent-field * * @jboss:column-name name="customer_id" */ public abstract String getCustomerId(); /** * @ejb:interface-method view="remote" * @ejb:persistent-field * * @jboss:column-name name="contact_tn" */ public abstract String getContactTN(); /** * @ejb:interface-method view="remote" * * @ejb:relation name="customer-subscriber" * role-name="subscriber-belongs-to-customer" * * @jboss:relation fk-column="customer_id" * related-pk-field="customerId" */ public abstract customerBean getCustomer(); /** * @ejb:interface-method view="remote" */ public abstract void setCustomer(com.uscc.account.interfaces.customerBean theCustomer); } Can someone eyeball something that is hosed up. I haven't been able to find anything on the web regarding this type of exception, so I'm stumped. Thanks! Matt Hanson ------------------------------------------------------- This SF.NET email is sponsored by: FREE SSL Guide from Thawte are you planning your Web Server Security? Click here to get a FREE Thawte SSL guide and find the answers to all your SSL security issues. http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user