Hi,
Could you create a JIRA issue and attach the jar containing the
VoiceMail.class bytes? It looks like OpenJPA is having a hard time
loading your class properly.
-Patrick
On Jan 2, 2008 1:31 PM, Tomasz Mazan <[EMAIL PROTECTED]> wrote:
> Hello
>
> I use openjpa 1.0.0 with Geronimo 2.0.2 and got strange exception for
> application.
>
> There's 3 classes
>
> 1) Customer
>
> @Entity @Table(name = "customer")
> public class Customer implements Serializable {
> ..
> @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER,
> mappedBy="customer")
> private Set<BillingAccount> billingAccounts = new
> HashSet<BillingAccount>();
> ..
> }
>
>
> 2) BillingAccount
>
> @Entity @Table(name = "billing_account")
> public class BillingAccount implements Serializable {
> ..
> @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.REFRESH}, fetch
> = FetchType.EAGER)
> @JoinColumn(name = "customer_id", nullable = false)
> private Customer customer;
>
> @Column(name = "status", nullable = false) @Basic
> private BillingAccountStatus status; //enumeration
>
> @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER,
> mappedBy = "billingAccount")
> private Set<Product> products = new HashSet<Product>();
> ..
> }
>
> 3) Product
>
> @Entity @Table(name = "pstn_account", uniqueConstraints =
> [EMAIL PROTECTED](columnNames = {"device_identifier", "line"})})
> public class Product implements Serializable {
> ..
> @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.REFRESH}, fetch
> = FetchType.EAGER)
> @JoinColumn(name = "billacc_id", nullable = false)
> private BillingAccount billingAccount;
>
> @Column(name = "status", nullable = false) @Basic @XmlElement
> private ProductStatus status;
>
> @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER,
> mappedBy = "product")
> private VoiceMail voiceMail;
>
> //START OF SPECIAL BLOCK
> private void changeStatus(ProductStatus newStatus) throws
> EntityAttributeException {
>
> switch (newStatus) {
> case NEW:
> throw new EntityAttributeException("Message 1");
>
> case DELETED:
> throw new EntityAttributeException("Another message");
>
> case ACTIVE:
> //START OF STRANGE BLOCK
> if
> (!this.billingAccount.getStatus().equals(BillingAccountStatus.ACTIVE)) {
> throw new EntityAttributeException("Invalid Account
> status");
> }
> //END OF STRANGE BLOCK
> ...
> case default:
> throw new EntityAttributeException("Unexpected change");
> //END OF SPECIAL BLOCK
> ..
> }
>
> -------------------------------------------------------
>
> My DAO layer (basen on session bean) uses EntityManager to find
> _Customer_ object. Code of changeStatus is not explicitly ivoked in my code.
> When I try to find customer using any criteria I get two kinds of exception.
>
> 1st for code with commented STRANGE BLOCK in Product class:
>
> 22:06:45,843 INFO [Runtime] Starting OpenJPA 1.0.0
> 22:06:46,562 INFO [JDBC] Using dictionary class
> "org.apache.openjpa.jdbc.sql.PostgresDictionary".
> 22:06:46,750 ERROR [CommonFacadeBean] find by property name failed
> <openjpa-1.0.0-r420667:568756 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: Error extracting
> class information from "myapp/dao/ejb3/VoiceMail.class".
> at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:205)
> at
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
> at
> org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createEntityManager(CMPEntityManagerTxScoped.java:74)
> at
> org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createQuery(CMPEntityManagerTxScoped.java:253)
> at
> myapp.dao.facade.CommonFacadeBean.findByProperty(CommonFacadeBean.java:67)
> at
> myapp.dao.facade.CustomerFacadeBean.findByStatus(CustomerFacadeBean.java:94)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:203)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:223)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
> at
> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
> at $Proxy89.findByStatus(Unknown Source)
> at
> myapp.services.mgr.CoreManagerBean.getCustomers(CoreManagerBean.java:327)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:203)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:223)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
> at
> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
> at $Proxy86.getCustomers(Unknown Source)
> at myapp.services.jws.MyappCrm.getCustomers(MyappCrm.java:76)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.directEjbInvoke(EJBMethodInvoker.java:156)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.ejbInvoke(EJBMethodInvoker.java:119)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:72)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:89)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.geronimo.cxf.ejb.EJBInterceptor.intercept(EJBInterceptor.java:148)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:73)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invokeWebService(StatelessContainer.java:263)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:199)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.preEjbInvoke(EJBMethodInvoker.java:94)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:69)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at
> org.apache.geronimo.cxf.GeronimoDestination.invoke(GeronimoDestination.java:115)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.processPOST(CXFWebServiceContainer.java:107)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.invoke(CXFWebServiceContainer.java:83)
> at
> org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:180)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.commons.lang.exception.NestableRuntimeException:
> Error extracting class information from "myapp/dao/ejb3/VoiceMail.class".
> at
> org.apache.openjpa.lib.meta.ClassArgParser.mapTypeNames(ClassArgParser.java:291)
> at
> org.apache.openjpa.meta.AbstractCFMetaDataFactory.scan(AbstractCFMetaDataFactory.java:778)
> at
> org.apache.openjpa.meta.AbstractCFMetaDataFactory.parsePersistentTypeNames(AbstractCFMetaDataFactory.java:646)
> at
> org.apache.openjpa.meta.AbstractCFMetaDataFactory.getPersistentTypeNames(AbstractCFMetaDataFactory.java:605)
> at
> org.apache.openjpa.meta.MetaDataRepository.getPersistentTypeNames(MetaDataRepository.java:1214)
> at
> org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1231)
> at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:148)
> at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:130)
> at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:186)
> ... 82 more
> Caused by: java.lang.StringIndexOutOfBoundsException: String index out
> of range: 51968
> at java.lang.String.checkBounds(String.java:402)
> at java.lang.String.<init>(String.java:443)
> at
> serp.bytecode.lowlevel.ConstantPoolTable.readString(ConstantPoolTable.java:140)
> at
> serp.bytecode.lowlevel.ConstantPoolTable.readString(ConstantPoolTable.java:205)
> at
> org.apache.openjpa.lib.meta.ClassAnnotationMetaDataFilter.matchAnnotations(ClassAnnotationMetaDataFilter.java:108)
> at
> org.apache.openjpa.lib.meta.ClassAnnotationMetaDataFilter.matches(ClassAnnotationMetaDataFilter.java:85)
> at
> org.apache.openjpa.lib.meta.ZipFileMetaDataIterator.hasNext(ZipFileMetaDataIterator.java:88)
> at
> org.apache.openjpa.lib.meta.ClassArgParser.mapTypeNames(ClassArgParser.java:282)
> ... 90 more
> 22:06:46,765 ERROR [CoreManagerBean] Error while finding customers by
> status => <openjpa-1.0.0-r420667:568756 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: Error extracting
> class information from "myapp/dao/ejb3/VoiceMail.class".
> 2008-01-02 22:06:47 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: ServiceDatabaseError
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.ejbInvoke(EJBMethodInvoker.java:140)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:72)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:89)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.geronimo.cxf.ejb.EJBInterceptor.intercept(EJBInterceptor.java:148)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:73)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invokeWebService(StatelessContainer.java:263)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:199)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.preEjbInvoke(EJBMethodInvoker.java:94)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:69)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at
> org.apache.geronimo.cxf.GeronimoDestination.invoke(GeronimoDestination.java:115)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.processPOST(CXFWebServiceContainer.java:107)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.invoke(CXFWebServiceContainer.java:83)
> at
> org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:180)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: myapp.services.jws.exception.MyappServicesFault:
> ServiceDatabaseError
> at myapp.services.jws.MyappCrm.getCustomers(MyappCrm.java:78)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.directEjbInvoke(EJBMethodInvoker.java:156)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.ejbInvoke(EJBMethodInvoker.java:119)
> ... 37 more
>
> 2nd for _uncommented_ STRANGE BLOCK in Product class:
>
> 22:28:23,406 INFO [JDBC] Using dictionary class
> "org.apache.openjpa.jdbc.sql.PostgresDictionary".
> 22:28:26,921 WARN [MetaData] OpenJPA cannot map field
> "myapp.dao.ejb3.BillingAccount.products" efficiently. It is of an
> unsupported type. The field value will be serialized to a BLOB by default.
> 22:28:26,953 ERROR [CommonFacadeBean] find by property name failed
> <openjpa-1.0.0-r420667:568756 fatal user error>
> org.apache.openjpa.persistence.ArgumentException: Field
> "myapp.dao.ejb3.BillingAccount.products" cannot declare that it is
> mapped by another field. Its mapping strategy
> (org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy) does not
> support mapping by another field.
> at
> org.apache.openjpa.jdbc.meta.strats.AbstractFieldStrategy.assertNotMappedBy(AbstractFieldStrategy.java:59)
> at
> org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.map(HandlerFieldStrategy.java:70)
> at
> org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:120)
> at
> org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
> at
> org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:438)
> at
> org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:403)
> at
> org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:851)
> at
> org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:322)
> at
> org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:621)
> at
> org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:508)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:302)
> at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:357)
> at org.apache.openjpa.kernel.QueryImpl.classForName(QueryImpl.java:1564)
> at
> org.apache.openjpa.kernel.ExpressionStoreQuery$1.classForName(ExpressionStoreQuery.java:107)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:165)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:136)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:216)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:186)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:179)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$500(JPQLExpressionBuilder.java:66)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:1678)
> at
> org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:55)
> at
> org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:148)
> at
> org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:652)
> at
> org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:633)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:599)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:661)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1487)
> at
> org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
> at
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
> at
> org.apache.geronimo.persistence.NoTxQueryWrapper.getResultList(NoTxQueryWrapper.java:43)
> at
> myapp.dao.facade.CommonFacadeBean.findByProperty(CommonFacadeBean.java:67)
> at
> myapp.dao.facade.CustomerFacadeBean.findByStatus(CustomerFacadeBean.java:94)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:203)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:223)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
> at
> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
> at $Proxy109.findByStatus(Unknown Source)
> at
> myapp.services.mgr.CoreManagerBean.getCustomers(CoreManagerBean.java:327)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:203)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:223)
> at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
> at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
> at
> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
> at $Proxy107.getCustomers(Unknown Source)
> at myapp.services.jws.MyappCrm.getCustomers(MyappCrm.java:76)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.directEjbInvoke(EJBMethodInvoker.java:156)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.ejbInvoke(EJBMethodInvoker.java:119)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:72)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:89)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.geronimo.cxf.ejb.EJBInterceptor.intercept(EJBInterceptor.java:148)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:73)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invokeWebService(StatelessContainer.java:263)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:199)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.preEjbInvoke(EJBMethodInvoker.java:94)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:69)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at
> org.apache.geronimo.cxf.GeronimoDestination.invoke(GeronimoDestination.java:115)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.processPOST(CXFWebServiceContainer.java:107)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.invoke(CXFWebServiceContainer.java:83)
> at
> org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:180)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> 22:28:26,968 ERROR [CoreManagerBean] Error while finding customers by
> status => <openjpa-1.0.0-r420667:568756 fatal user error>
> org.apache.openjpa.persistence.ArgumentException: Field
> "myapp.dao.ejb3.BillingAccount.products" cannot declare that it is
> mapped by another field. Its mapping strategy
> (org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy) does not
> support mapping by another field.
> 2008-01-02 22:28:27 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: ServiceDatabaseError
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.ejbInvoke(EJBMethodInvoker.java:140)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:72)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:89)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.geronimo.cxf.ejb.EJBInterceptor.intercept(EJBInterceptor.java:148)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:73)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invokeWebService(StatelessContainer.java:263)
> at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:199)
> at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.preEjbInvoke(EJBMethodInvoker.java:94)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.invoke(EJBMethodInvoker.java:69)
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:63)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at
> org.apache.geronimo.cxf.GeronimoDestination.invoke(GeronimoDestination.java:115)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.processPOST(CXFWebServiceContainer.java:107)
> at
> org.apache.geronimo.cxf.CXFWebServiceContainer.invoke(CXFWebServiceContainer.java:83)
> at
> org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:180)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: myapp.services.jws.exception.MyappServicesFault:
> ServiceDatabaseError
> at myapp.services.jws.MyappCrm.getCustomers(MyappCrm.java:78)
> 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:597)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.directEjbInvoke(EJBMethodInvoker.java:156)
> at
> org.apache.geronimo.cxf.ejb.EJBMethodInvoker.ejbInvoke(EJBMethodInvoker.java:119)
> ... 37 more
>
>
> Have any idea what's wrong with my application?
> Thanks in advance for any advices.
>
> Beniamin
>
>
--
Patrick Linskey
202 669 5907