Hi,
I have a problem to restore deleted files or folders by using the following Alfresco REST-API-Method:
POST /deleted-nodes/{nodeId}/restore
I upgraded my Server to Alfresco 6.x (6.1 or 6.2GA) and since than each time I try to restore a file or folder by calling the restore method I get a HTTP error code 400 (Bad Request). See the following log fragment from the alfresco.log below.
POST /alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/cfc3eb1c-4cd8-4847-b683-9acbd1e06fac/restore HTTP/1.0" 400 316
With Alfresco 5.2 the same method call works without any problem. I posted this problem a year ago, but it seams nobody else is having such a problem too.
Would be nice if someone from Alfresco or the community can help to get rid of this problem. Thank you.
Best regards, Matthias
Old Post:
Solved! Go to Solution.
There are two errors in the log, one is related to sending emails.
java.net.UnknownHostException: smtp.example.com. Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.example.com, 25; timeout -1; nested exception is: java.net.UnknownHostException: smtp.example.com; message exceptions (1) are:Failed message 1: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.example.com, 25; timeout -1; nested exception is: java.net.UnknownHostException: smtp.example.com
Looks like you have not configured outbound stmp correctly or host is not reachable from your server. If you are not using email functionality, disable it. Remove mail configuration from alfresco-global.properties.
Or disable activity feeds if not using it.
activities.feed.notifier.enabled=false
The other error is related to number format parsing. It looks like error is thrown while parsing the content length, see here:
Unfortunately these classes doesn't have loggers.
Can you check the POST request details and see whether you are passing the content lenght or not? Content lenght seems to be expecting '0' in the request and must be passed in the request.
https://docs.alfresco.com/6.2/concepts/dev-api-by-language-alf-rest-restore-trashcan-items.html
curl -X POST -H 'Content-Type: text/plain;charset=UTF-8' -H 'Content-Length: 0' -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/4bda2a4d-5013-46fa-93bd-104dd58e1596/restore'
Copying the error here for others to see:
2020-11-30 20:28:21,553 DEBUG [org.alfresco.repo.transaction.RetryingTransactionHelper] [http-nio-8080-exec-5] Transaction commit failed: Thread: http-nio-8080-exec-5 Txn: UserTransaction[object=org.alfresco.util.transaction.SpringAwareUserTransaction@4b838202, status=0] Iteration: 0 Exception follows: java.lang.NumberFormatException: null at java.base/java.lang.Integer.parseInt(Integer.java:614) at java.base/java.lang.Integer.valueOf(Integer.java:983) at org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractObjFromJson(ResourceWebScriptPost.java:175) at org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.processRequest(ResourceWebScriptPost.java:138) at org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractParams(ResourceWebScriptPost.java:109) at org.alfresco.rest.framework.webscripts.AbstractResourceWebScript$1.execute(AbstractResourceWebScript.java:110) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450) at org.alfresco.rest.framework.webscripts.AbstractResourceWebScript.execute(AbstractResourceWebScript.java:128) at org.alfresco.rest.framework.webscripts.ApiWebScript.execute(ApiWebScript.java:115) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:474) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:664) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:435) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:315) at org.alfresco.rest.api.PublicApiRepositoryContainer.access$001(PublicApiRepositoryContainer.java:47) at org.alfresco.rest.api.PublicApiRepositoryContainer$1.doWork(PublicApiRepositoryContainer.java:84) at org.alfresco.repo.tenant.TenantUtil.runAsWork(TenantUtil.java:126) at org.alfresco.repo.tenant.TenantUtil.runAsTenant(TenantUtil.java:95) at org.alfresco.rest.api.PublicApiRepositoryContainer.executeScript(PublicApiRepositoryContainer.java:80) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:399) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210) at org.alfresco.repo.web.scripts.TenantWebScriptServlet.service(TenantWebScriptServlet.java:82) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ...... (trimmed) 2020-11-30 20:28:21,560 ERROR [org.alfresco.rest.framework.webscripts.ResourceWebScriptPost] [http-nio-8080-exec-5] 5fcc213d-2170-4dba-a9c6-8ba69f5e80b7 : [java.base/java.lang.Integer.parseInt(Integer.java:614), java.base/java.lang.Integer.valueOf(Integer.java:983), org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractObjFromJson(ResourceWebScriptPost.java:175), org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.processRequest(ResourceWebScriptPost.java:138), org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractParams(ResourceWebScriptPost.java:109), org.alfresco.rest.framework.webscripts.AbstractResourceWebScript$1.execute(AbstractResourceWebScript.java:110), org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450), org.alfresco.rest.framework.webscripts.AbstractResourceWebScript.execute(AbstractResourceWebScript.java:128), org.alfresco.rest.framework.webscripts.ApiWebScript.execute(ApiWebScript.java:115), org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:474), org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:664), org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:435), org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:315), org.alfresco.rest.api.PublicApiRepositoryContainer.access$001(PublicApiRepositoryContainer.java:47), org.alfresco.rest.api.PublicApiRepositoryContainer$1.doWork(PublicApiRepositoryContainer.java:84), org.alfresco.repo.tenant.TenantUtil.runAsWork(TenantUtil.java:126), org.alfresco.repo.tenant.TenantUtil.runAsTenant(TenantUtil.java:95), org.alfresco.rest.api.PublicApiRepositoryContainer.executeScript(PublicApiRepositoryContainer.java:80), org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:399), org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210), org.alfresco.repo.web.scripts.TenantWebScriptServlet.service(TenantWebScriptServlet.java:82), javax.servlet.http.HttpServlet.service(HttpServlet.java:741), jdk.internal.reflect.GeneratedMethodAccessor428.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:225), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.module.aosmodule.service.ContextRootFilter.doFilter(ContextRootFilter.java:93), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:75), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:132), org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186), org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212), com.sun.proxy.$Proxy170.doFilter(Unknown Source), org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:89), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:68), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.web.app.servlet.ClearSecurityContextFilter.doFilter(ClearSecurityContextFilter.java:53), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96), org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137), org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81), org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87), org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343), org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798), org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66), org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808), org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498), org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49), java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128), java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628), org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61), java.base/java.lang.Thread.run(Thread.java:834)] 2020-11-30 20:31:26,843 DEBUG [org.alfresco.rest.framework.core.ResourceLookupDictionary] [http-nio-8080-exec-11] Locating resource :/deleted-nodes/{entityId}/restore 2020-11-30 20:31:26,843 DEBUG [org.alfresco.rest.api.PublicApiRepositoryContainer] [http-nio-8080-exec-11] executeScript (-system-): [null,-system-] /alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/c7d39e39-e959-4239-ac24-95aa1aa6e898/restore 2020-11-30 20:31:26,848 DEBUG [org.alfresco.rest.framework.core.ResourceLookupDictionary] [http-nio-8080-exec-11] Locating resource :/deleted-nodes/{entityId}/restore 2020-11-30 20:31:26,848 DEBUG [org.alfresco.repo.transaction.RetryingTransactionHelper] [http-nio-8080-exec-11] Transaction commit failed: Thread: http-nio-8080-exec-11 Txn: UserTransaction[object=org.alfresco.util.transaction.SpringAwareUserTransaction@352c66af, status=0] Iteration: 0 Exception follows: java.lang.NumberFormatException: null at java.base/java.lang.Integer.parseInt(Integer.java:614)
The api just worked fine when i tried via rest client
https://docs.alfresco.com/6.2/concepts/dev-api-by-language-alf-rest-restore-trashcan-items.html
Checked old post and logs you shared, but there is nothing in the log about the error. can you repost the alfresco.log/catalina.out logs when you get this error.
Make sure you are using the nodeID either via admin user who has admin access to every node in repository or user which you are using to call the api is owner of the node.
Check this thread as well: https://hub.alfresco.com/t5/alfresco-content-services-forum/allow-site-admins-to-view-items-deleted-...
Thank you for your response. I also tried the alfresco admin user to perform the restore, but no luck. Same error es mentioned in my previous posts. A couple a days ago i activated the debug log (see the download links below) where you can find the restore calls followed by an transaction ecxeption. I have no idea whether this relevant or not. I really need a solution for this problem. Furthermore: If I try to restore a file or folder from trash and the http 400 occurs there is no log entry within catalina.log (see the screenshots attached - only localhost_access_log... was updated with the http 400 error).
I hope someone can help to track this error down (and as i said: same code to access Alfresco 5.2 works just fine, no error at all).
Best regards, Matthias
Alfresco-Debug-Log:
https://alfrodin.com/downloads/alfrescohub/alfresco.zip
Screenshot from log folder:
https://alfrodin.com/downloads/alfrescohub/Alfreso-Log-ChageDateTime.png
So i looked up the log file, i can see only one error that is related to the failure.It says transaction is rolled back but not able to find what could have caused this. Would you mind disabling the debug log on root logger and just enable debug log for the below given packages and share the logs again?
log4j.logger.org.alfresco.repo.web=DEBUG log4j.logger.org.alfresco.rest=DEBUG log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=DEBUG
Copying the log here so others can also see:
Locating resource :/deleted-nodes/{entityId}/restore 2020-11-26 20:51:32,761 DEBUG [org.alfresco.util.transaction.SpringAwareUserTransaction] [http-nio-8080-exec-11] Began user transaction: UserTransaction[object=org.alfresco.util.transaction.SpringAwareUserTransaction@6de38503, status=0] 2020-11-26 20:51:32,761 DEBUG [org.alfresco.util.transaction.TransactionSupportUtil] [http-nio-8080-exec-11] Bound txn synch: TransactionSychronizationImpl[ txnId=2c8ce1e0-865f-40db-9594-a61053ca7a41] with txn name: http-nio-8080-exec-11-eca0a245-b426-478a-9642-ec69a1b8a888 2020-11-26 20:51:32,761 DEBUG [org.alfresco.util.transaction.SpringAwareUserTransaction] [http-nio-8080-exec-11] Exception attempting to pass transaction boundaries. java.lang.Exception at org.alfresco.util.transaction.SpringAwareUserTransaction.rollback(SpringAwareUserTransaction.java:544) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:519) at org.alfresco.rest.framework.webscripts.AbstractResourceWebScript.execute(AbstractResourceWebScript.java:128) at org.alfresco.rest.framework.webscripts.ApiWebScript.execute(ApiWebScript.java:115) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:474) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:664) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:435) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:315) at org.alfresco.rest.api.PublicApiRepositoryContainer.access$001(PublicApiRepositoryContainer.java:47) at org.alfresco.rest.api.PublicApiRepositoryContainer$1.doWork(PublicApiRepositoryContainer.java:84) at org.alfresco.repo.tenant.TenantUtil.runAsWork(TenantUtil.java:126) at org.alfresco.repo.tenant.TenantUtil.runAsTenant(TenantUtil.java:95) at org.alfresco.rest.api.PublicApiRepositoryContainer.executeScript(PublicApiRepositoryContainer.java:80) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:399) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210) at org.alfresco.repo.web.scripts.TenantWebScriptServlet.service(TenantWebScriptServlet.java:82) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at jdk.internal.reflect.GeneratedMethodAccessor428.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:225) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at jdk.internal.reflect.GeneratedMethodAccessor425.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.alfresco.module.aosmodule.service.ContextRootFilter.doFilter(ContextRootFilter.java:93) at jdk.internal.reflect.GeneratedMethodAccessor425.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:132) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy170.doFilter(Unknown Source) at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:89) at jdk.internal.reflect.GeneratedMethodAccessor425.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:68) at jdk.internal.reflect.GeneratedMethodAccessor425.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.alfresco.web.app.servlet.ClearSecurityContextFilter.doFilter(ClearSecurityContextFilter.java:53) at jdk.internal.reflect.GeneratedMethodAccessor425.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) 2020-11-26 20:51:32,762 DEBUG [org.alfresco.util.transaction.TransactionSupportUtil] [http-nio-8080-exec-11] Before completion: TransactionSychronizationImpl[ txnId=2c8ce1e0-865f-40db-9594-a61053ca7a41] 2020-11-26 20:51:32,762 DEBUG [org.alfresco.util.transaction.TransactionSupportUtil] [http-nio-8080-exec-11] After completion (rolled-back): TransactionSychronizationImpl[ txnId=2c8ce1e0-865f-40db-9594-a61053ca7a41] 2020-11-26 20:51:32,762 DEBUG [org.alfresco.util.transaction.TransactionSupportUtil] [http-nio-8080-exec-11] After Completion: DONE 2020-11-26 20:51:32,762 DEBUG [org.alfresco.util.transaction.TransactionSupportUtil] [http-nio-8080-exec-11] Clear txn resources for http-nio-8080-exec-11 2020-11-26 20:51:32,762 DEBUG [org.alfresco.util.transaction.SpringAwareUserTransaction] [http-nio-8080-exec-11] Rolled back user transaction: UserTransaction[object=org.alfresco.util.transaction.SpringAwareUserTransaction@6de38503, status=4]
Thank you for your response. I modified log4j.properties as suggested, restarted Alfresco and tried to restore files. Please find the log below. As far as I understand the log, a java.lang.NumberFormatException occurs during restore.
Thank you in advance to investigate this issue.
Best regards, Matthias.
PS.: I have to add a download link again, because your system don't allow post exceeding 20,000 chars.
Logfragment (find time stamp 2020-11-30 20:28:21,553)
https://alfrodin.com/downloads/alfrescohub/alfresco-20201130.zip
There are two errors in the log, one is related to sending emails.
java.net.UnknownHostException: smtp.example.com. Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.example.com, 25; timeout -1; nested exception is: java.net.UnknownHostException: smtp.example.com; message exceptions (1) are:Failed message 1: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.example.com, 25; timeout -1; nested exception is: java.net.UnknownHostException: smtp.example.com
Looks like you have not configured outbound stmp correctly or host is not reachable from your server. If you are not using email functionality, disable it. Remove mail configuration from alfresco-global.properties.
Or disable activity feeds if not using it.
activities.feed.notifier.enabled=false
The other error is related to number format parsing. It looks like error is thrown while parsing the content length, see here:
Unfortunately these classes doesn't have loggers.
Can you check the POST request details and see whether you are passing the content lenght or not? Content lenght seems to be expecting '0' in the request and must be passed in the request.
https://docs.alfresco.com/6.2/concepts/dev-api-by-language-alf-rest-restore-trashcan-items.html
curl -X POST -H 'Content-Type: text/plain;charset=UTF-8' -H 'Content-Length: 0' -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/4bda2a4d-5013-46fa-93bd-104dd58e1596/restore'
Copying the error here for others to see:
2020-11-30 20:28:21,553 DEBUG [org.alfresco.repo.transaction.RetryingTransactionHelper] [http-nio-8080-exec-5] Transaction commit failed: Thread: http-nio-8080-exec-5 Txn: UserTransaction[object=org.alfresco.util.transaction.SpringAwareUserTransaction@4b838202, status=0] Iteration: 0 Exception follows: java.lang.NumberFormatException: null at java.base/java.lang.Integer.parseInt(Integer.java:614) at java.base/java.lang.Integer.valueOf(Integer.java:983) at org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractObjFromJson(ResourceWebScriptPost.java:175) at org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.processRequest(ResourceWebScriptPost.java:138) at org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractParams(ResourceWebScriptPost.java:109) at org.alfresco.rest.framework.webscripts.AbstractResourceWebScript$1.execute(AbstractResourceWebScript.java:110) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450) at org.alfresco.rest.framework.webscripts.AbstractResourceWebScript.execute(AbstractResourceWebScript.java:128) at org.alfresco.rest.framework.webscripts.ApiWebScript.execute(ApiWebScript.java:115) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:474) at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:664) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:435) at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:315) at org.alfresco.rest.api.PublicApiRepositoryContainer.access$001(PublicApiRepositoryContainer.java:47) at org.alfresco.rest.api.PublicApiRepositoryContainer$1.doWork(PublicApiRepositoryContainer.java:84) at org.alfresco.repo.tenant.TenantUtil.runAsWork(TenantUtil.java:126) at org.alfresco.repo.tenant.TenantUtil.runAsTenant(TenantUtil.java:95) at org.alfresco.rest.api.PublicApiRepositoryContainer.executeScript(PublicApiRepositoryContainer.java:80) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:399) at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210) at org.alfresco.repo.web.scripts.TenantWebScriptServlet.service(TenantWebScriptServlet.java:82) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ...... (trimmed) 2020-11-30 20:28:21,560 ERROR [org.alfresco.rest.framework.webscripts.ResourceWebScriptPost] [http-nio-8080-exec-5] 5fcc213d-2170-4dba-a9c6-8ba69f5e80b7 : [java.base/java.lang.Integer.parseInt(Integer.java:614), java.base/java.lang.Integer.valueOf(Integer.java:983), org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractObjFromJson(ResourceWebScriptPost.java:175), org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.processRequest(ResourceWebScriptPost.java:138), org.alfresco.rest.framework.webscripts.ResourceWebScriptPost.extractParams(ResourceWebScriptPost.java:109), org.alfresco.rest.framework.webscripts.AbstractResourceWebScript$1.execute(AbstractResourceWebScript.java:110), org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450), org.alfresco.rest.framework.webscripts.AbstractResourceWebScript.execute(AbstractResourceWebScript.java:128), org.alfresco.rest.framework.webscripts.ApiWebScript.execute(ApiWebScript.java:115), org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:474), org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:664), org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:435), org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:315), org.alfresco.rest.api.PublicApiRepositoryContainer.access$001(PublicApiRepositoryContainer.java:47), org.alfresco.rest.api.PublicApiRepositoryContainer$1.doWork(PublicApiRepositoryContainer.java:84), org.alfresco.repo.tenant.TenantUtil.runAsWork(TenantUtil.java:126), org.alfresco.repo.tenant.TenantUtil.runAsTenant(TenantUtil.java:95), org.alfresco.rest.api.PublicApiRepositoryContainer.executeScript(PublicApiRepositoryContainer.java:80), org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:399), org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210), org.alfresco.repo.web.scripts.TenantWebScriptServlet.service(TenantWebScriptServlet.java:82), javax.servlet.http.HttpServlet.service(HttpServlet.java:741), jdk.internal.reflect.GeneratedMethodAccessor428.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:225), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.module.aosmodule.service.ContextRootFilter.doFilter(ContextRootFilter.java:93), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:75), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method), java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:132), org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186), org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212), com.sun.proxy.$Proxy170.doFilter(Unknown Source), org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:89), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:68), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.alfresco.web.app.servlet.ClearSecurityContextFilter.doFilter(ClearSecurityContextFilter.java:53), jdk.internal.reflect.GeneratedMethodAccessor424.invoke(Unknown Source), java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.base/java.lang.reflect.Method.invoke(Method.java:566), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279), java.base/java.security.AccessController.doPrivileged(Native Method), java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:550), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:191), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:47), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:149), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145), java.base/java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96), org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137), org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81), org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87), org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343), org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798), org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66), org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808), org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498), org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49), java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128), java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628), org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61), java.base/java.lang.Thread.run(Thread.java:834)] 2020-11-30 20:31:26,843 DEBUG [org.alfresco.rest.framework.core.ResourceLookupDictionary] [http-nio-8080-exec-11] Locating resource :/deleted-nodes/{entityId}/restore 2020-11-30 20:31:26,843 DEBUG [org.alfresco.rest.api.PublicApiRepositoryContainer] [http-nio-8080-exec-11] executeScript (-system-): [null,-system-] /alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/c7d39e39-e959-4239-ac24-95aa1aa6e898/restore 2020-11-30 20:31:26,848 DEBUG [org.alfresco.rest.framework.core.ResourceLookupDictionary] [http-nio-8080-exec-11] Locating resource :/deleted-nodes/{entityId}/restore 2020-11-30 20:31:26,848 DEBUG [org.alfresco.repo.transaction.RetryingTransactionHelper] [http-nio-8080-exec-11] Transaction commit failed: Thread: http-nio-8080-exec-11 Txn: UserTransaction[object=org.alfresco.util.transaction.SpringAwareUserTransaction@352c66af, status=0] Iteration: 0 Exception follows: java.lang.NumberFormatException: null at java.base/java.lang.Integer.parseInt(Integer.java:614)
Hi,
thank you. If I set the ContentLength-Property of the HttpWebRequest for this REST-API-Call to 0 it works as it worked before in Aflresco 5.2 (without this requirement). I double checked your REST-API documentation, but there is no hint to this requirement. I think it would be helpful to update the documentation. Thank you.
Best regards, Matthias
Glad that it works for you now as it was a long running issue @mbasoft
I just had a look and i see that, there is content length header specifically mentioned in both 5.2 and 6.2 documentation POST Call examples.
https://docs.alfresco.com/6.2/concepts/dev-api-by-language-alf-rest-restore-trashcan-items.html
E.g.:
curl -X POST -H 'Content-Type: text/plain;charset=UTF-8' -H 'Content-Length: 0' -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/4bda2a4d-5013-46fa-93bd-104dd58e1596/restore'
https://docs.alfresco.com/5.2/concepts/dev-api-by-language-alf-rest-restore-trashcan-items.html
e.g.:
curl -X POST -H 'Content-Type: text/plain;charset=UTF-8' -H 'Content-Length: 0' -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/4bda2a4d-5013-46fa-93bd-104dd58e1596/restore'
Seems like it was a requirement even with 5.2.x version, i am not sure how it was working.
But good news is that it works now.
Probably the documentation for the " /deleted-nodes/{node id}/restore " should be improved to avoid any confusion.
Good luck.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.