In springframework, Validation error doesn't display rather getting HTTP Status 500 - spring

I have a very simple application for customer data entry.
Only the new customer entry page is working and data is getting inserted in db, but when i intensionally enter more then 10 digits in mobileNo field, i get error in browser.
Here is github link https://github.com/kalyan4github/cdb.git
**the full error logs is type Exception report**
message Failed to convert value of type 'com.trickytechnos.cdb.domain.Customer' to required type 'java.lang.String'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.trickytechnos.cdb.domain.Customer] to required type [java.lang.String]: no matching editors or conversion strategy found
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type 'com.trickytechnos.cdb.domain.Customer' to required type 'java.lang.String'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [com.trickytechnos.cdb.domain.Customer] to required type [java.lang.String]: no matching editors or conversion strategy found
org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:74)
org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:40)
org.springframework.validation.DataBinder.convertIfNecessary(DataBinder.java:575)
org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap.formatValue(RedirectAttributesModelMap.java:79)
org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap.addAttribute(RedirectAttributesModelMap.java:71)
org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap.addAttribute(RedirectAttributesModelMap.java:34)
com.trickytechnos.cdb.controller.CustomerController.addCustomer(CustomerController.java:54)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:833)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
com.github.dandelion.datatables.core.web.filter.DatatablesFilter.doFilter(DatatablesFilter.java:73)
root cause
java.lang.IllegalStateException: Cannot convert value of type [com.trickytechnos.cdb.domain.Customer] to required type [java.lang.String]: no matching editors or conversion strategy found
org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:267)
org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:93)
org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:64)
org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:40)
org.springframework.validation.DataBinder.convertIfNecessary(DataBinder.java:575)
org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap.formatValue(RedirectAttributesModelMap.java:79)
org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap.addAttribute(RedirectAttributesModelMap.java:71)
org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap.addAttribute(RedirectAttributesModelMap.java:34)
com.trickytechnos.cdb.controller.CustomerController.addCustomer(CustomerController.java:54)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:833)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
com.github.dandelion.datatables.core.web.filter.DatatablesFilter.doFilter(DatatablesFilter.java:73)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs.
Apache Tomcat/7.0.56
This is the output in console
Field error in object 'customer' on field 'mobileNo': rejected value [12345678912]; codes [Size.customer.mobileNo,Size.mobileNo,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [customer.mobileNo,mobileNo]; arguments []; default message [mobileNo],10,0]; default message [mobileno must be 10 digit]
Please help me as why am i getting this error and the validation message is displayed in console instead in thymeleaf template.

Related

Filenet Invoke step get locked in fnsystem user

I have a invoke step in my work flow that run and send the request to server and get the respond from it , but it get locked at this step to the "fnsystem" user
In information Stack it shows Queue as WSRequest(0) and Error Number 0x0 for invoke step (F_QueueWPClassId is "-9(WSRequest)")
In process engine log it shows error of
XXXX-XX-XXXXX:25:01.439 7BDFD491 ENG FNRCE0001E - ERROR method name: XXXX/XX/XX XX:53:21.762+0530 CMDp.CRT7933 XXXXXXX DB=CXXXXXX Reg#2 [Error] FNRPE2131090405E CMExecute[913].XXXXX.CRXXXXX_2.WSRequest.fnsystem [XXXX_XXXXXBalanceStates:5C4XXX075XXB1C4EXXXXEF4A2C21XXX4:Workflow:Invoke] DISPATCH FAILED!; Exception: Unexpected exception -- see chained exception
at filenet.jpe.database.DbTransaction.throwTranException(DbTransaction.java:1103)
at filenet.jpe.database.DbTransaction.HandleDistributedTransactionError(DbTransaction.java:678)
at filenet.jpe.cm.CMExecuteAStepTask._saveStep(CMExecuteAStepTask.java:573)
at filenet.jpe.cm.CMExecuteAStepTask.dispatchStep(CMExecuteAStepTask.java:402)
at filenet.jpe.cm.ws.WSInvokeOperation.invoke(WSInvokeOperation.java:949)
at filenet.jpe.cm.ws.PEWSRequestAdaptor.execute(PEWSRequestAdaptor.java:105)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:161)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:145)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:239)
at com.filenet.api.util.UserContext.doAs(UserContext.java:142)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.call(CMExecuteAStepTask.java:143)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.run(CMExecuteAStepTask.java:188)
at filenet.jpe.cm.CMExecuteAStepTask.doMyJob(CMExecuteAStepTask.java:317)
at filenet.jpe.cm.CMDispatcherTask.process(CMDispatcherTask.java:408)
at filenet.jpe.cm.CMDispatcherTask.doMyJob(CMDispatcherTask.java:170)
at filenet.jpe.cm.CMBaseTask.doJob(CMBaseTask.java:103)
at filenet.jpe.server.common.DelayBackgroundTask.run(DelayBackgroundTask.java:232)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:939)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:963)
at java.lang.Thread.run(Thread.java:790)
Caused by: com.filenet.api.exception.EngineRuntimeException: FNRCE0001E: E_ACCESS_DENIED: The requester has insufficient access rights to perform the requested operation. failedBatchItem=0 errorStack={
at com.filenet.engine.persist.IndependentPersister.checkPropertyAccess(IndependentPersister.java:2365)
at com.filenet.engine.persist.IndependentPersister.checkUpdatePermissions(IndependentPersister.java:2072)
at com.filenet.engine.persist.IndependentPersister.preUpdate(IndependentPersister.java:1255)
at com.filenet.engine.persist.IndependentPersister.preExecuteChange(IndependentPersister.java:603)
at com.filenet.engine.persist.SubscribablePersister.preExecuteChange(SubscribablePersister.java:227)
at com.filenet.engine.persist.ReplicablePersister.preExecuteChange(ReplicablePersister.java:125)
at com.filenet.engine.persist.CmTaskPersister.preExecuteChange(CmTaskPersister.java:100)
at com.filenet.engine.persist.IndependentPersister.executeChangeWork(IndependentPersister.java:499)
at com.filenet.engine.persist.IndependentPersister.executeChange(IndependentPersister.java:333)
at com.filenet.engine.persist.SubscribablePersister.executeChange(SubscribablePersister.java:177)
at com.filenet.engine.jca.impl.RequestBrokerImpl.executeChanges(RequestBrokerImpl.java:1487)
at com.filenet.engine.jca.impl.RequestBrokerImpl.executeChanges(RequestBrokerImpl.java:1345)
at com.filenet.engine.ejb.EngineCoreBean._executeChanges(EngineCoreBean.java:619)
at com.filenet.engine.ejb.EngineCoreBean.executeChangesUT(EngineCoreBean.java:592)
at com.filenet.engine.ejb.EJSLocalStatelessEngineCore_22877cb1.executeChangesUT(Unknown Source)
at com.filenet.engine.ejb.EngineBean.executeChanges(EngineBean.java:909)
at com.filenet.apiimpl.transport.ejbstubs.EJSRemoteStatelessEngine_2e64c374.executeChanges(Unknown Source)
at com.filenet.apiimpl.transport.ejbstubs._Engine_Stub.executeChanges(_Engine_Stub.java:671)
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl._executeChanges(EJBSession.java:861)
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl.run(EJBSession.java:550)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:239)
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl.executeChanges(EJBSession.java:599)
at com.filenet.apiimpl.transport.ejb.EJBSession.executeChanges(EJBSession.java:393)
at com.filenet.apiimpl.util.SessionHandle.executeChanges(SessionHandle.java:112)
at com.filenet.apiimpl.core.Session.callExecuteChanges(Session.java:184)
at com.filenet.apiimpl.core.Session.executeChanges(Session.java:570)
at com.filenet.api.core.UpdatingBatch.updateBatch(UpdatingBatch.java:168)
at filenet.jpe.server.common.CETransactionCache$FlushCEObjectsOnTransactionCommit.priorToCommitOp(CETransactionCache.java:228)
at filenet.jpe.database.DbTransaction.ProcessPriorToCommitTranOpSet(DbTransaction.java:1229)
at filenet.jpe.database.DbTransaction.executePriorToCommitOps(DbTransaction.java:584)
at filenet.jpe.database.DbTransaction.EndDistributedTransaction(DbTransaction.java:522)
at filenet.jpe.cm.CMExecuteAStepTask._saveStep(CMExecuteAStepTask.java:566)
at filenet.jpe.cm.CMExecuteAStepTask.dispatchStep(CMExecuteAStepTask.java:402)
at filenet.jpe.cm.ws.WSInvokeOperation.invoke(WSInvokeOperation.java:949)
at filenet.jpe.cm.ws.PEWSRequestAdaptor.execute(PEWSRequestAdaptor.java:105)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:161)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:145)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:239)
at com.filenet.api.util.UserContext.doAs(UserContext.java:142)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.call(CMExecuteAStepTask.java:143)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.run(CMExecuteAStepTask.java:188)
at filenet.jpe.cm.CMExecuteAStepTask.doMyJob(CMExecuteAStepTask.java:317)
at filenet.jpe.cm.CMDispatcherTask.process(CMDispatcherTask.java:408)
at filenet.jpe.cm.CMDispatcherTask.doMyJob(CMDispatcherTask.java:170)
at filenet.jpe.cm.CMBaseTask.doJob(CMBaseTask.java:103)
at filenet.jpe.server.common.DelayBackgroundTask.run(DelayBackgroundTask.java:232)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:939)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:963)
at java.lang.Thread.run(Thread.java:790)
}
at sun.reflect.GeneratedConstructorAccessor173.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
at com.ibm.rmi.io.NoArgNewInstanceAction.run(NoArgNewInstanceAction.java:43)
at java.security.AccessController.doPrivileged(AccessController.java:453)
at com.ibm.rmi.io.ExternalizableFactory.allocateNewExternalizableObject(ExternalizableFactory.java:62)
at com.ibm.rmi.io.FastPathForCollocated.deepCopy(FastPathForCollocated.java:240)
at com.ibm.rmi.io.ORBVM.deepCopyIfRequired(ORBVM.java:83)
at com.ibm.oti.vm.ORBVMHelpers.vmDeepCopy(ORBVMHelpers.java:206)
at com.ibm.rmi.io.VMDeepCopier.performDeepCopy(VMDeepCopier.java:229)
at com.ibm.rmi.io.FastPathForCollocated.writeNonStaticNonTransientFields(FastPathForCollocated.java:358)
at com.ibm.rmi.io.IIOPOutputStream.defaultWriteObjectDelegate(IIOPOutputStream.java:608)
at com.ibm.rmi.io.OutputStreamHook.defaultWriteObject(OutputStreamHook.java:133)
at java.lang.Throwable.writeObject(Throwable.java:321)
at sun.reflect.GeneratedMethodAccessor168.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.ibm.rmi.io.FastPathForCollocated.invokeWriteObjectMethod(FastPathForCollocated.java:753)
at com.ibm.rmi.io.FastPathForCollocated.invokeWriteAndReadObjects(FastPathForCollocated.java:575)
at com.ibm.rmi.io.FastPathForCollocated.deepCopy(FastPathForCollocated.java:280)
at com.ibm.rmi.iiop.ObjectCopierFactory$DeepObjectCopier.doWork(ObjectCopierFactory.java:327)
at com.ibm.rmi.iiop.ObjectCopierFactory$AbstractCopier.waitForCompletion(ObjectCopierFactory.java:169)
at com.ibm.rmi.iiop.ObjectCopierFactory$AbstractCopier.getCopy(ObjectCopierFactory.java:187)
at com.ibm.rmi.util.ProxyUtil.copyObject(ProxyUtil.java:372)
at com.ibm.CORBA.iiop.UtilDelegateImpl.copyObject(UtilDelegateImpl.java:861)
at javax.rmi.CORBA.Util.copyObject(Util.java:327)
at com.filenet.apiimpl.transport.ejbstubs._Engine_Stub.executeChanges(_Engine_Stub.java:674)
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl._executeChanges(EJBSession.java:861)
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl.run(EJBSession.java:550)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:239)
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl.executeChanges(EJBSession.java:599)
at com.filenet.apiimpl.transport.ejb.EJBSession.executeChanges(EJBSession.java:393)
at com.filenet.apiimpl.util.SessionHandle.executeChanges(SessionHandle.java:112)
at com.filenet.apiimpl.core.Session.callExecuteChanges(Session.java:184)
at com.filenet.apiimpl.core.Session.executeChanges(Session.java:570)
at com.filenet.api.core.UpdatingBatch.updateBatch(UpdatingBatch.java:168)
at filenet.jpe.server.common.CETransactionCache$FlushCEObjectsOnTransactionCommit.priorToCommitOp(CETransactionCache.java:228)
at filenet.jpe.database.DbTransaction.ProcessPriorToCommitTranOpSet(DbTransaction.java:1229)
at filenet.jpe.database.DbTransaction.executePriorToCommitOps(DbTransaction.java:584)
at filenet.jpe.database.DbTransaction.EndDistributedTransaction(DbTransaction.java:522)
at filenet.jpe.cm.CMExecuteAStepTask._saveStep(CMExecuteAStepTask.java:566)
... 24 more
XXXX/XX/XX XX:53:48.078+0530 CMDp.CRT7933 PEPrimary2 DB=XXXXXXX Reg#2 [Error] Exception during ISI processing work object XXXX2EBA46BDXXXXABCD3XXXX40; Exception: com.filenet.api.exception.EngineRuntimeException: FNRCE0057E: E_READ_ONLY: The method failed because an object or property is read-only. Read-only property XXXX_XXXXdateStates cannot be updated.
at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:696)
at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:666)
at com.filenet.apiimpl.property.PropertiesImpl.putObjectValue(PropertiesImpl.java:356)
at filenet.jpe.expr.ExpressionEvaluator$ExprCEReferenceObject.setFieldValue(ExpressionEvaluator.java:246)
at filenet.jpe.definitions.AssignWorkOrder.evalExpr(AssignWorkOrder.java:340)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.executeOpAssign(InstructionSheetInterpreterClass.java:4197)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.doAdvance(InstructionSheetInterpreterClass.java:2746)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.doExecute(InstructionSheetInterpreterClass.java:2042)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.advance(InstructionSheetInterpreterClass.java:1004)
at filenet.jpe.cm.CMExecuteAStepTask._saveStep(CMExecuteAStepTask.java:556)
at filenet.jpe.cm.CMExecuteAStepTask.dispatchStep(CMExecuteAStepTask.java:402)
at filenet.jpe.cm.ws.WSInvokeOperation.invoke(WSInvokeOperation.java:949)
at filenet.jpe.cm.ws.PEWSRequestAdaptor.execute(PEWSRequestAdaptor.java:105)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:161)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:145)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:239)
at com.filenet.api.util.UserContext.doAs(UserContext.java:142)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.call(CMExecuteAStepTask.java:143)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.run(CMExecuteAStepTask.java:188)
at filenet.jpe.cm.CMExecuteAStepTask.doMyJob(CMExecuteAStepTask.java:317)
at filenet.jpe.cm.CMDispatcherTask.process(CMDispatcherTask.java:408)
at filenet.jpe.cm.CMDispatcherTask.doMyJob(CMDispatcherTask.java:170)
at filenet.jpe.cm.CMBaseTask.doJob(CMBaseTask.java:103)
at filenet.jpe.server.common.DelayBackgroundTask.run(DelayBackgroundTask.java:232)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:939)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:963)
at java.lang.Thread.run(Thread.java:790)
XXXX/XX/XX XX:53:48.079+0530 CMDp.CRT7933 PEPrimary2 DB=CRTOSDC Reg#2 [Error] ISI Exception (Wob 3E4EXXXX46BDCCC9ABCD38A7745); Exception: com.filenet.api.exception.EngineRuntimeException: FNRCE0057E: E_READ_ONLY: The method failed because an object or property is read-only. Read-only property XXXX_XXXXdateStates cannot be updated.
at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:696)
at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:666)
at com.filenet.apiimpl.property.PropertiesImpl.putObjectValue(PropertiesImpl.java:356)
at filenet.jpe.expr.ExpressionEvaluator$ExprCEReferenceObject.setFieldValue(ExpressionEvaluator.java:246)
at filenet.jpe.definitions.AssignWorkOrder.evalExpr(AssignWorkOrder.java:340)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.executeOpAssign(InstructionSheetInterpreterClass.java:4197)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.doAdvance(InstructionSheetInterpreterClass.java:2746)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.doExecute(InstructionSheetInterpreterClass.java:2042)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.advance(InstructionSheetInterpreterClass.java:1004)
at filenet.jpe.cm.CMExecuteAStepTask._saveStep(CMExecuteAStepTask.java:556)
at filenet.jpe.cm.CMExecuteAStepTask.dispatchStep(CMExecuteAStepTask.java:402)
at filenet.jpe.cm.ws.WSInvokeOperation.invoke(WSInvokeOperation.java:949)
at filenet.jpe.cm.ws.PEWSRequestAdaptor.execute(PEWSRequestAdaptor.java:105)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:161)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker$1.run(CMExecuteAStepTask.java:145)
at java.security.AccessController.doPrivileged(AccessController.java:488)
at javax.security.auth.Subject.doAs(Subject.java:573)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196)
at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:239)
at com.filenet.api.util.UserContext.doAs(UserContext.java:142)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.call(CMExecuteAStepTask.java:143)
at filenet.jpe.cm.CMExecuteAStepTask$TaskWorker.run(CMExecuteAStepTask.java:188)
at filenet.jpe.cm.CMExecuteAStepTask.doMyJob(CMExecuteAStepTask.java:317)
at filenet.jpe.cm.CMDispatcherTask.process(CMDispatcherTask.java:408)
at filenet.jpe.cm.CMDispatcherTask.doMyJob(CMDispatcherTask.java:170)
at filenet.jpe.cm.CMBaseTask.doJob(CMBaseTask.java:103)
at filenet.jpe.server.common.DelayBackgroundTask.run(DelayBackgroundTask.java:232)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:939)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:963)
at java.lang.Thread.run(Thread.java:790)
the invoke is a system step run by a fnsystem user and property "XXXX_XXXXdateStates" on all workflow steps & properties shows as read-write .
why this step failed at system stem to the "fnsystem" user even all steps and workflow definition properties shows it as read-write , any input is highly appreciated..
EDIT
Note: "fnsystems" is in object store properties with all permission
I have replaced my property XXXX_XXXXdateStates with a new property because i was thinking maybe the access rights didn't inherit for my object store or roster.and i got same error (E_ACCESS_DENIED) for a system task(TaskState update) with a system property (LastFailureReason)
2018/XX/XX XX:XX:XX.252+0530 CMRX.CRXXA4X PESecondary1 [Error] FNRPE2131090405E fail to move wob 87D6770XXX34194XXX7A3D2 to exception submap Malfunction; Exception: Unexpected exception -- see chained exception
at filenet.jpe.database.DbTransaction.throwTranException(DbTransaction.java:1103)
at filenet.jpe.database.DbTransaction.HandleDistributedTransactionError(DbTransaction.java:678)
at filenet.jpe.cm.CMRecoveryTask.doMyJob(CMRecoveryTask.java:135)
at filenet.jpe.cm.CMBaseTask.doJob(CMBaseTask.java:103)
at filenet.jpe.server.common.DelayBackgroundTask.run(DelayBackgroundTask.java:232)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:939)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:963)
at java.lang.Thread.run(Thread.java:790)
Caused by: com.filenet.api.exception.EngineRuntimeException: FNRCE0001E: E_ACCESS_DENIED: The requester has insufficient access rights to perform the requested operation. failedBatchItem=0 errorStack={
at com.filenet.engine.persist.IndependentPersister.checkPropertyAccess(IndependentPersister.java:2365)
at com.filenet.engine.persist.IndependentPersister.checkUpdatePermissions(IndependentPersister.java:2072)
at com.filenet.engine.persist.IndependentPersister.preUpdate(IndependentPersister.java:1255)
at com.filenet.engine.persist.IndependentPersister.preExecuteChange(IndependentPersister.java:603)
at com.filenet.engine.persist.SubscribablePersister.preExecuteChange(SubscribablePersister.java:227)
at com.filenet.engine.persist.ReplicablePersister.preExecuteChange(ReplicablePersister.java:125)
at com.filenet.engine.persist.CmTaskPersister.preExecuteChange(CmTaskPersister.java:100)
at com.filenet.engine.persist.IndependentPersister.executeChangeWork(IndependentPersister.java:499)
XXXX/XX/XX 14:23:57.255+0530 CMRX.CRTCA47 PESecondary1 DB=CRTXXXX Reg#2 [Error] Wob EBAE2XXXXX8D4AA750XXXF4AB476, Exception on TaskState update (Work Performer Exception: LOCK TIMEOUT).; Exception: com.filenet.api.exception.EngineRuntimeException: FNRCE0057E: E_READ_ONLY: The method failed because an object or property is read-only. Read-only property LastFailureReason cannot be updated.
at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:696)
at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:666)
at com.filenet.apiimpl.property.PropertiesImpl.putValue(PropertiesImpl.java:370)
at filenet.jpe.server.isi.TaskStateUpdater.reallySetException(TaskStateUpdater.java:183)
at filenet.jpe.server.isi.TaskStateUpdater.setException(TaskStateUpdater.java:108)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.callExceptionIS(InstructionSheetInterpreterClass.java:3669)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.doAdvance(InstructionSheetInterpreterClass.java:2304)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.doExecute(InstructionSheetInterpreterClass.java:2042)
at filenet.jpe.server.isi.InstructionSheetInterpreterClass.advance(InstructionSheetInterpreterClass.java:1004)
at filenet.jpe.cm.CMRecoveryTask.doMyJob(CMRecoveryTask.java:129)
It appears that something is wrong with your security setup. The error has nothing to do with access rights on the workflow map or those to the workflow definition. The system tries to update Content Engine object associated with the running workflow instance and fails to do so. System fnsystem account cannot get required access to that object.
You should verify that fnsystem is granted access to the object store and related objects (normally this happens by default). You should also check whether you have various security facilities like security policies or marking sets in place. They might prevent normal access to objects.
If this does not help, you should verify that CPE is installed and configured properly. Creating Content Platform Engine directory server accounts is a place to start.

Documenting byte[] response in Spring Rest Docs

I am building an API and documenting it using Spring Rest Docs (1.1.1.RELEASE) and there is an api which returns an image as byte array.
I need to describe the response type in REST docs. I am not sure how this can be done using FieldDescriptor
When I try:
//get mock byte array
byte[] attachment = "Hello".getBytes();
FieldDescriptor[] contentFields = new FieldDescriptor[] {
fieldWithPath("").type(byte[].class)
.description("bytes of the attachment ")};
when(serviceMock.getImage("fe329638007b4ea3b2a5")).thenReturn(attachment);
this.mockMvc
.perform(RestDocumentationRequestBuilders.get("/api/v1/contents/{contentId}/images", "fe329638007b4ea3b2a5"))
.andExpect(status().isOk()).andDo(document("{method-name}",
pathParameters(parameterWithName("contentId").description("The id of the Content")),
responseFields(contentFields)));
verify(serviceMock, times(1)).getImage("fe329638007b4ea3b2a5");
verifyNoMoreInteractions(serviceMock);
I get the below error
org.springframework.restdocs.payload.PayloadHandlingException: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Hello': was expecting ('true', 'false' or 'null')
at [Source: [B#13866865; line: 1, column: 11]
at org.springframework.restdocs.payload.JsonContentHandler.readContent(JsonContentHandler.java:86)
at org.springframework.restdocs.payload.JsonContentHandler.findMissingFields(JsonContentHandler.java:52)
at org.springframework.restdocs.payload.AbstractFieldsSnippet.validateFieldDocumentation(AbstractFieldsSnippet.java:152)
at org.springframework.restdocs.payload.AbstractFieldsSnippet.createModel(AbstractFieldsSnippet.java:100)
at org.springframework.restdocs.snippet.TemplatedSnippet.document(TemplatedSnippet.java:64)
at org.springframework.restdocs.generate.RestDocumentationGenerator.handle(RestDocumentationGenerator.java:196)
at org.springframework.restdocs.mockmvc.RestDocumentationResultHandler.handle(RestDocumentationResultHandler.java:55)
at org.springframework.test.web.servlet.MockMvc$1.andDo(MockMvc.java:177)
at com.davita.comms.controller.CommsControllerTest.getThumbnailByContentId(CommsControllerTest.java:205)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.restdocs.JUnitRestDocumentation$1.evaluate(JUnitRestDocumentation.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:670)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Is there a way to mention in FieldDescriptor that the returned data is no json, so makes no sense to have a path.
Is there any other way we can document this without FieldDescriptors?
REST Docs doesn't have any support for documenting the contents of binary payloads. The request and response fields snippets are intended for documenting the structure of a JSON or XML payload.
I don't think you get much benefit from using REST Docs to generate the table to describe your binary response as there's not much to assert. Any response can be treated as a byte[] as that's what a response is in its most raw form. For example, JSON is a byte[] as is XML. They're just byte arrays with particular constraints on their contents.
Rather than trying to use REST Docs to generate a table to describe the binary response, I'd simply hardcode it in your .adoc file. If you want to include some assertions in your test about the contents of the response, then I'd use some of MockMvc's matchers. For example, you could assert that the body of the response matches the bytes that you've configured your mock service to return.

Shiro.There is no session with id

I am using shiro-1.2.3 for GWT webapp. I am able to configure the login process of the user; however, I need some help with the shiro's log out process. The webapp is deployed through tomcat and it creates new instance for different users. So, for instance, when two users are logged in, there are two session id created by shiro; however, when I click on the sign out button, it will call subject.logout() function to logout the user, it looks like that Shiro is keeping track of only one session ( the last user logged in), for some reason. It will logout successfully if there was only one user logged in; however, when logging out more than one, this is what I am getting:
Caused by: org.apache.shiro.session.UnknownSessionException: There is no session with id [f5b7c3bf-2c53-40e9-a707-37f4265970aa]
at org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
at org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
at org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
at com.factorlab.security.FactorlabDelegatingSubject.getUser(FactorlabDelegatingSubject.java:34)
at com.factorlab.security.FactorlabDelegatingSubject.getUser(FactorlabDelegatingSubject.java:10)
at com.factorlab.persistence.AbstractEntityDao.getCurrentUser(AbstractEntityDao.java:227)
at com.factorlab.persistence.AbstractEntityDao.fireEvent(AbstractEntityDao.java:215)
at com.factorlab.persistence.AbstractEntityDao.saveOrUpdate(AbstractEntityDao.java:190)
at com.factorlab.persistence.AbstractEntityDao.saveOrUpdate(AbstractEntityDao.java:177)
at com.factorlab.persistence.AbstractEntityDao.saveOrUpdate(AbstractEntityDao.java:38)
at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
at $Proxy72.saveOrUpdate(Unknown Source)
at com.factorlab.observations.sales.OpportunityScoreUpdateServiceImpl.receiveOpportunityEvent(OpportunityScoreUpdateServiceImpl.java:83)
at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy76.receiveOpportunityEvent(Unknown Source)
at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:69)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:84)
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:57)
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:102)
at org.springframework.integration.util.AbstractExpressionEvaluator.evaluateExpression(AbstractExpressionEvaluator.java:126)
at org.springframework.integration.util.MessagingMethodInvokerHelper.processInternal(MessagingMethodInvokerHelper.java:227)
at org.springframework.integration.util.MessagingMethodInvokerHelper.process(MessagingMethodInvokerHelper.java:127)
at org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java:73)
... 49 more
**Shiro.ini**
[main]
myRealm=com.java.gwt.server.auth.MyRealm
myCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $myCacheManager
securityManager.sessionManager.globalSessionTimeout = 9000000
I have also tried to use EhCache manager.
For login, I am using the same information as shown in the shiro's 10 minute tutorial.
Thanks for your time.

OutputFormat NotSupported in Birt Report Engine API

I want to render a previously designed BIRT report to HTML in Eclipse Indigo. I am using BIRT 4.2.1. When I do it in a normal Java application it runs fine. However, when I want to do the same from a RCP application it does not.
This is my code:
IRunAndRenderTask task=null;
IReportEngine engine=null;
EngineConfig config = null;
IReportRunnable design = null;
try{
config = new EngineConfig( );
IReportEngineFactory factory = (IReportEngineFactory) Platform.
createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );
//use this if the report is in the bundle
Bundle bundle = org.eclipse.core.runtime.Platform.getBundle("com.accenture.workforceplanning.ui");
URL url = FileLocator.find(bundle, new Path("/reports/scenarioAnalysis.rptdesign"), null);
String rpt = FileLocator.toFileURL(url).getPath();
//Open the report design
design = engine.openReportDesign(rpt);
task = engine.createRunAndRenderTask(design);
HTMLRenderOption options = new HTMLRenderOption();
options.setImageDirectory("./");
URL url1 = FileLocator.find(bundle, new Path("/reports"), null);
String rpt1 = FileLocator.toFileURL(url1).getPath();
options.setOutputFileName(rpt1 +"/scenarioAnalysis.html");
options.setOutputFormat("html");
task.setRenderOption(options);
task.run();
task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
When the program reaches the task.run() I get the following error:
org.eclipse.birt.report.engine.api.UnsupportedFormatException: The output format html is not supported.
at org.eclipse.birt.report.engine.api.impl.EngineTask.setupRenderOption(EngineTask.java:2047)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:96)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
at com.accenture.workforceplanning.ui.composites.OutputComposite.reportToHtml(OutputComposite.java:470)
at com.accenture.workforceplanning.ui.composites.OutputComposite.createReportScenarioAnalysis(OutputComposite.java:410)
at com.accenture.workforceplanning.ui.composites.OutputComposite.access$6(OutputComposite.java:308)
at com.accenture.workforceplanning.ui.composites.OutputComposite$4.widgetSelected(OutputComposite.java:214)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.accenture.workforceplanning.application.Application.start(Application.java:26)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
It happens the same for any type of outputformat that I want to render.
Any idea what I am doing wrong?
Thanks
Yulexi
I have managed to solve issue. Just in case somebody encounters the same problem this is what I did:
I added manually all the BIRT plug-ins to the dependencies of the product of my RCP application(For some reason, the required plug-ins were not added). Still I don't know what was the missing plug-in. But the application works fine now.

PropertyTypeDescriptor and Spring 3.1.2

I'm working on a project using Spring-Flex 1.5.2 and Spring 3.1.2 and recently after adding some DAO's to my project i started getting this error on the WebLogic Console when trying to populate one of my combos:
[BlazeDS]org/springframework/core/convert/support/PropertyTypeDescriptor
java.lang.NoClassDefFoundError: org/springframework/core/convert/support/PropertyTypeDescriptor
at org.springframework.flex.core.io.HibernateProxyConverter.convert(HibernateProxyConverter.java:48)
at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:35)
at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:171)
at org.springframework.flex.core.io.SpringPropertyProxy.getValue(SpringPropertyProxy.java:160)
at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:601)
at flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:532)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:207)
at flex.messaging.io.amf.Amf3Output.writeObjectArray(Amf3Output.java:854)
at flex.messaging.io.amf.Amf3Output.writeAMFArray(Amf3Output.java:445)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:193)
at flex.messaging.io.ArrayCollection.writeExternal(ArrayCollection.java:97)
at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:594)
at flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java:476)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:189)
at flex.messaging.messages.AbstractMessage.writeExternalBody(AbstractMessage.java:705)
at flex.messaging.messages.AbstractMessage.writeExternal(AbstractMessage.java:435)
at flex.messaging.messages.AsyncMessage.writeExternal(AsyncMessage.java:140)
at flex.messaging.messages.AcknowledgeMessage.writeExternal(AcknowledgeMessage.java:94)
at flex.messaging.messages.AcknowledgeMessageExt.writeExternal(AcknowledgeMessageExt.java:55)
at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:594)
at flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:532)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:112)
at flex.messaging.io.amf.Amf0Output.writeObject(Amf0Output.java:206)
at flex.messaging.io.amf.AmfMessageSerializer.writeObject(AmfMessageSerializer.java:196)
at flex.messaging.io.amf.AmfMessageSerializer.writeBody(AmfMessageSerializer.java:186)
at flex.messaging.io.amf.AmfMessageSerializer.writeMessage(AmfMessageSerializer.java:142)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:198)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$25364767.service(<generated>)
at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:109)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.convert.support.PropertyTypeDescriptor
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:176)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 57 more
Google has failed me on this one... so any help is greatly appreciated.
I have annotated my services with #RemotingDestination and created the Remote Objects in my Mxml, like this:
<s:RemoteObject id="marketSegment" destination="marketSegmentServiceImpl" endpoint="http://localhost:7001/scpi/messageBroker/amf"></s:RemoteObject>
then i'm adding this on my combobox:
dataProvider="{marketSegment.findAllCatalogs.lastResult}"
and this on my creationComplete:
private function init():void{
marketSegment.findAllCatalogs();
biotech.findAllCatalogs();
}
This is working to fetch obects that have only primitive type properties, but fails with the mentioned error when trying to fetch any object with complex type properties.
It looks like some versions are incompatible.
The class org.springframework.core.convert.support.PropertyTypeDescriptor was removed in Spring 3.1!
Have a look at the jar that contains org.springframework.flex.core.io.HibernateProxyConverter.
Maybe you find in the pom.xml the version of spring-core that is needed.

Resources