Hello Fabiano,
are you using remote interfaces? Relationships are allowed with local
interfaces only.
Also what JBoss version are you using?
alex
Wednesday, November 27, 2002, 9:59:01 PM, you wrote:
FCCS> hello every body!
FCCS> I've got a 1-to-many relationship set up, but it's not working.
FCCS> It's about polls and its answers.
FCCS> So I have a session bean that creates the entity beans and, in a lopp,
FCCS> assigns each answer to the poll.
FCCS> that's the piece of code that makes it:
FCCS> try{
FCCS> System.out.println("Passei pelo session facade");
FCCS> Context context = EJBClient.getJNDIContext();
FCCS> Object refPoll= context.lookup(PollHome.JNDI_NAME);
FCCS> PollHome pollHome = (PollHome) PortableRemoteObject.narrow(refPoll,
FCCS> PollHome.class);
FCCS> Poll poll = pollHome.create(pv);
FCCS> Object refAnswer= context.lookup(AnswerHome.JNDI_NAME);
FCCS> AnswerHome answerHome = (AnswerHome) PortableRemoteObject.narrow(refAnswer,
FCCS> AnswerHome.class);
FCCS> AnswerValue[] answers = pv.getAnswers();
FCCS> for(int i=0; i<answers.length; i++){
FCCS> Answer answer = answerHome.create(answers[i]);
FCCS> poll.assignAnswer(answer);
FCCS> }
FCCS> return poll.getValueObject();
FCCS> }catch(Exception e){
FCCS> System.out.println("Nao foi poss�vel localizar objeto no servidor.");
FCCS> e.printStackTrace();
FCCS> return null;
FCCS> }
FCCS> So my PollEJB is a CMP 2.x one, and the piece of code reponsible for the
FCCS> relationship is the following:
FCCS> //CMR fields
FCCS> public abstract void setAnswers(Set answers);
FCCS> public abstract Set getAnswers();
FCCS> //Business methods
FCCS> public void assignAnswer(Answer a){
FCCS> Set answers = getAnswers();
FCCS> answers.add(a);
FCCS> }
FCCS> And the ejb-jar is the following:
FCCS> <!-- Relationships -->
FCCS> <relationships>
FCCS> <ejb-relation>
FCCS> <ejb-relation-name>Poll-Answers</ejb-relation-name>
FCCS> <ejb-relationship-role>
FCCS> <ejb-relationship-role-name>poll-has-answers</ejb-relationship-role-name>
FCCS> <multiplicity>One</multiplicity>
FCCS> <relationship-role-source>
FCCS> <ejb-name>cilix/ejb/Poll</ejb-name>
FCCS> </relationship-role-source>
FCCS> <cmr-field>
FCCS> <cmr-field-name>answers</cmr-field-name>
FCCS> <cmr-field-type>java.util.Set</cmr-field-type>
FCCS> </cmr-field>
FCCS> </ejb-relationship-role>
FCCS> <ejb-relationship-role>
FCCS> <ejb-relationship-role-name>answers-belongs-to-poll</ejb-relationship-role-n
ame>>
FCCS> <multiplicity>Many</multiplicity>
FCCS> <cascade-delete/>
FCCS> <relationship-role-source>
FCCS> <ejb-name>cilix/ejb/Answer</ejb-name>
FCCS> </relationship-role-source>
FCCS> </ejb-relationship-role>
FCCS> </ejb-relation>
FCCS> </relationships>
FCCS> <!-- Assembly Descriptor -->
FCCS> <assembly-descriptor >
FCCS> <!-- finder permissions -->
FCCS> <!-- transactions -->
FCCS> <container-transaction >
FCCS> <method >
FCCS> <ejb-name>cilix/ejb/Poll</ejb-name>
FCCS> <method-name>*</method-name>
FCCS> </method>
FCCS> <trans-attribute>Required</trans-attribute>
FCCS> </container-transaction>
FCCS> <container-transaction >
FCCS> <method >
FCCS> <ejb-name>cilix/ejb/Facade</ejb-name>
FCCS> <method-name>*</method-name>
FCCS> </method>
FCCS> <trans-attribute>Required</trans-attribute>
FCCS> </container-transaction>
FCCS> <container-transaction >
FCCS> <method >
FCCS> <ejb-name>cilix/ejb/Answer</ejb-name>
FCCS> <method-name>*</method-name>
FCCS> </method>
FCCS> <trans-attribute>Required</trans-attribute>
FCCS> </container-transaction>
FCCS> And when i try to run it, an exception inside the container implementation
FCCS> is throwed:
FCCS> 16:46:41,684 ERROR [LogInterceptor] TransactionRolledbackException,
FCCS> causedBy:
FCCS> java.lang.NullPointerException
FCCS> at
FCCS> org.jboss.ejb.plugins.cmp.jdbc.bridge.RelationSet.add(RelationSet.java:86)
FCCS> at
FCCS> br.com.cilix.intranet.poll.ejb.entity.PollEJB.assignAnswer(PollEJB.java:54)
FCCS> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
FCCS> at
FCCS> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
FCCS> )
FCCS> at
FCCS> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
FCCS> .java:25)
FCCS> at java.lang.reflect.Method.invoke(Method.java:324)
FCCS> at
FCCS> org.jboss.ejb.EntityContainer$ContainerInterceptor.invoke(EntityContainer.ja
FCCS> va:1194)
FCCS> at
FCCS> org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor.invoke(JDBCRelationIn
FCCS> terceptor.java:95)
FCCS> at
FCCS> org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchron
FCCS> izationInterceptor.java:308)
FCCS> at
FCCS> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
FCCS> edConnectionInterceptor.java:186)
FCCS> at
FCCS> org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInt
FCCS> erceptor.java:90)
FCCS> at
FCCS> org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterce
FCCS> ptor.java:152)
FCCS> at
FCCS> org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.jav
FCCS> a:107)
FCCS> at
FCCS> org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterce
FCCS> ptor.java:69)
FCCS> at
FCCS> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
FCCS> .java:107)
FCCS> at
FCCS> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
FCCS> java:178)
FCCS> at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
FCCS> at
FCCS> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:13
FCCS> 0)
FCCS> at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203)
FCCS> at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:493)
FCCS> at org.jboss.ejb.Container.invoke(Container.java:712)
FCCS> at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
FCCS> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
FCCS> at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
FCCS> at
FCCS> org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
FCCS> at
FCCS> org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77
FCCS> )
FCCS> at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
FCCS> at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:116)
FCCS> at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
FCCS> at $Proxy50.assignAnswer(Unknown Source)
FCCS> at
FCCS> br.com.cilix.intranet.poll.ejb.session.stateless.FacadeBean.insertPoll(Facad
FCCS> eBean.java:62)
FCCS> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
FCCS> at
FCCS> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
FCCS> )
FCCS> at
FCCS> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
FCCS> .java:25)
FCCS> at java.lang.reflect.Method.invoke(Method.java:324)
FCCS> at
FCCS> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
FCCS> sSessionContainer.java:660)
FCCS> at
FCCS> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
FCCS> edConnectionInterceptor.java:186)
FCCS> at
FCCS> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
FCCS> ssionInstanceInterceptor.java:77)
FCCS> at
FCCS> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
FCCS> .java:107)
FCCS> at
FCCS> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
FCCS> java:178)
FCCS> at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
FCCS> at
FCCS> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:13
FCCS> 0)
FCCS> at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203)
FCCS> at
FCCS> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
FCCS> a:313)
FCCS> at org.jboss.ejb.Container.invoke(Container.java:712)
FCCS> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
FCCS> at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
FCCS> at
FCCS> org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
FCCS> at
FCCS> org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77
FCCS> )
FCCS> at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
FCCS> at
FCCS> org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInter
FCCS> ceptor.java:111)
FCCS> at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
FCCS> at $Proxy46.insertPoll(Unknown Source)
FCCS> at
FCCS> br.com.cilix.intranet.poll.ejb.session.stateless.BusinessDelegate.insertPoll
FCCS> (BusinessDelegate.java:72)
FCCS> at br.com.cilix.intranet.poll.servlet.NewPoll.service(NewPoll.java:56)
FCCS> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
FCCS> at
FCCS> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FCCS> FilterChain.java:247)
FCCS> at
FCCS> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
FCCS> ain.java:193)
FCCS> at
FCCS> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
FCCS> va:260)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:643)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
FCCS> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
FCCS> at
FCCS> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
FCCS> va:191)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:643)
FCCS> at
FCCS> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
FCCS> 46)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:641)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
FCCS> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
FCCS> at
FCCS> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
FCCS> at
FCCS> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
FCCS> )
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:643)
FCCS> at
FCCS> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
FCCS> java:170)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:641)
FCCS> at
FCCS> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
FCCS> )
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:641)
FCCS> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
FCCS> eNext(StandardPipeline.java:641)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
FCCS> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
FCCS> at
FCCS> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
FCCS> :174)
FCCS> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.in
FCCS> vokeNext(StandardPipeline.java:643)
FCCS> at
FCCS> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
FCCS> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
FCCS> at
FCCS> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
FCCS> 1040)
FCCS> at
FCCS> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151
FCCS> )
FCCS> at java.lang.Thread.run(Thread.java:536)
FCCS> So i'd like to know what can I do to solve it. I think the problem is just a
FCCS> little thing that is not right in my code.
FCCS> with my best regards,
FCCS> Fabiano
--
Best regards,
Alex Loubyansky
-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T
handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user