Hello, I’m facing an issue when trying to connect the onlyoffice docker image (onlyoffice/documentserver:latest) in our alfresco docker compose stack.
Opening the file in onlyoffice through the alfresco interface works, but saving the file to alfresco fails:
In the onlyoffice log I see the following error:
2024-05-29 16:06:29 [2024-05-29T14:06:29.406] [ERROR] [localhost] [8db87172-62b9-4809-825e-2070a42eb1bc_1.0] [admin1] nodeJS - sendServerRequest error: url = https://host.docker.internal/alfresco/s/parashift/onlyoffice/callback?nodeRef=workspace://SpacesStore/8db87172-62b9-4809-825e-2070a42eb1bc&cb_key=KZYV0RiDyXjMlfNXeORbDI3ziyMLUUCMO7-4obwgJnE;data = {"key":"8db87172-62b9-4809-825e-2070a42eb1bc_1.0","status":6,"url":"https://localhost:443/cache/files/data/8db87172-62b9-4809-825e-2070a42eb1bc_1.0_174/output.docx/output.docx?md5=BU_eK6r2o_Xj4quJjRh3QA&expires=1716992490&WOPISrc=8db87172-62b9-4809-825e-2070a42eb1bc_1.0&filename=output.docx","changesurl":"https://localhost:443/cache/files/data/8db87172-62b9-4809-825e-2070a42eb1bc_1.0_174/changes.zip/changes.zip?md5=ZdL3ofNz144lV6dKFHDpxw&expires=1716992490&WOPISrc=8db87172-62b9-4809-825e-2070a42eb1bc_1.0&filename=changes.zip","history":{"serverVersion":"8.0.1","changes":[{"created":"2024-05-29 14:06:28","user":{"id":"admin","name":"Administrator "}}]},"users":["admin"],"actions":[{"type":2,"userid":"admin"}],"lastsave":"2024-05-29T14:06:28.000Z","forcesavetype":1,"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiI4ZGI4NzE3Mi02MmI5LTQ4MDktODI1ZS0yMDcwYTQyZWIxYmNfMS4wIiwic3RhdHVzIjo2LCJ1cmwiOiJodHRwczovL2xvY2FsaG9zdDo0NDMvY2FjaGUvZmlsZXMvZGF0YS84ZGI4NzE3Mi02MmI5LTQ4MDktODI1ZS0yMDcwYTQyZWIxYmNfMS4wXzE3NC9vdXRwdXQuZG9jeC9vdXRwdXQuZG9jeD9tZDU9QlVfZUs2cjJvX1hqNHF1SmpSaDNRQSZleHBpcmVzPTE3MTY5OTI0OTAmV09QSVNyYz04ZGI4NzE3Mi02MmI5LTQ4MDktODI1ZS0yMDcwYTQyZWIxYmNfMS4wJmZpbGVuYW1lPW91dHB1dC5kb2N4IiwiY2hhbmdlc3VybCI6Imh0dHBzOi8vbG9jYWxob3N0OjQ0My9jYWNoZS9maWxlcy9kYXRhLzhkYjg3MTcyLTYyYjktNDgwOS04MjVlLTIwNzBhNDJlYjFiY18xLjBfMTc0L2NoYW5nZXMuemlwL2NoYW5nZXMuemlwP21kNT1aZEwzb2ZOejE0NGxWNmRLRkhEcHh3JmV4cGlyZXM9MTcxNjk5MjQ5MCZXT1BJU3JjPThkYjg3MTcyLTYyYjktNDgwOS04MjVlLTIwNzBhNDJlYjFiY18xLjAmZmlsZW5hbWU9Y2hhbmdlcy56aXAiLCJoaXN0b3J5Ijp7InNlcnZlclZlcnNpb24iOiI4LjAuMSIsImNoYW5nZXMiOlt7ImNyZWF0ZWQiOiIyMDI0LTA1LTI5IDE0OjA2OjI4IiwidXNlciI6eyJpZCI6ImFkbWluIiwibmFtZSI6IkFkbWluaXN0cmF0b3IgIn19XX0sInVzZXJzIjpbImFkbWluIl0sImFjdGlvbnMiOlt7InR5cGUiOjIsInVzZXJpZCI6ImFkbWluIn1dLCJsYXN0c2F2ZSI6IjIwMjQtMDUtMjlUMTQ6MDY6MjguMDAwWiIsImZvcmNlc2F2ZXR5cGUiOjEsImZpbGV0eXBlIjoiZG9jeCIsImlhdCI6MTcxNjk5MTU4OSwiZXhwIjoxNzE2OTkxODg5fQ.DGn32QgrJmtrUVHv7jI_CVb_8NX53yPKWmpyU4VdhmQ","filetype":"docx"} Error: Error response: statusCode:500; headers:{"server":"nginx/1.20.2","date":"Wed, 29 May 2024 14:06:29 GMT","content-length":"59","connection":"close","x-frame-options":"SAMEORIGIN"}; body:
2024-05-29 16:06:29 {"error":1, "message":"04290044 Exception in Transaction."}
2024-05-29 16:06:29 at Request._callback (/snapshot/server/Common/sources/utils.js)
2024-05-29 16:06:29 at Request.callback (/snapshot/server/Common/node_modules/request/request.js:185:22)
2024-05-29 16:06:29 at Request.emit (node:events:527:28)
2024-05-29 16:06:29 at Request.<anonymous> (/snapshot/server/Common/node_modules/request/request.js:1161:10)
2024-05-29 16:06:29 at Request.emit (node:events:527:28)
2024-05-29 16:06:29 at IncomingMessage.<anonymous> (/snapshot/server/Common/node_modules/request/request.js:1083:12)
2024-05-29 16:06:29 at Object.onceWrapper (node:events:641:28)
2024-05-29 16:06:29 at IncomingMessage.emit (node:events:539:35)
2024-05-29 16:06:29 at endReadableNT (node:internal/streams/readable:1345:12)
2024-05-29 16:06:29 at processTicksAndRejections (node:internal/process/task_queues:83:21)
In alfresco I get the error
2024-05-29 16:06:29 2024-05-29T14:06:29,402 [] ERROR [onlyoffice.scripts.CallBack] [http-nio-8080-exec-1] Error execution script Callback
2024-05-29 16:06:29 org.alfresco.error.AlfrescoRuntimeException: 04290044 Exception in Transaction.
2024-05-29 16:06:29 at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:538) ~[alfresco-repository-20.64.jar:20.64]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack.execute(CallBack.java:158) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:506) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:685) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at org.alfresco.repo.web.scripts.RepositoryContainer.executeScriptInternal(RepositoryContainer.java:356) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:309) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:423) ~[spring-webscripts-8.33.jar:8.33]
2024-05-29 16:06:29 at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:210) ~[spring-webscripts-8.33.jar:8.33]
2024-05-29 16:06:29 at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:131) ~[spring-webscripts-8.33.jar:8.33]
2024-05-29 16:06:29 at org.alfresco.repo.web.scripts.AlfrescoWebScriptServlet.service(AlfrescoWebScriptServlet.java:43) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api.jar:4.0.FR]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-websocket.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.alfresco.module.aosmodule.service.ContextRootFilter.doFilter(ContextRootFilter.java:93) ~[alfresco-aos-repo-binding-1.6.0-M1.jar:?]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.springframework.extensions.webscripts.servlet.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:177) ~[spring-webscripts-8.33.jar:8.33]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:68) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.alfresco.web.app.servlet.ClearSecurityContextFilter.doFilter(ClearSecurityContextFilter.java:53) ~[alfresco-remote-api-20.64.jar:20.64]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[catalina.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-coyote.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-coyote.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-coyote.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:9.0.62]
2024-05-29 16:06:29 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.62]
2024-05-29 16:06:29 at java.lang.Thread.run(Thread.java:833) ~[?:?]
2024-05-29 16:06:29 Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:443 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2024-05-29 16:06:29 at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at com.parashift.onlyoffice.util.RequestManager.executeRequest(RequestManager.java:91) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.util.RequestManager.executeRequestToDocumentServer(RequestManager.java:55) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack.updateNode(CallBack.java:305) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack.access$100(CallBack.java:38) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack$ProccessRequestCallback.execute(CallBack.java:247) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452) ~[alfresco-repository-20.64.jar:20.64]
2024-05-29 16:06:29 ... 44 more
2024-05-29 16:06:29 Caused by: java.net.ConnectException: Connection refused
2024-05-29 16:06:29 at sun.nio.ch.Net.pollConnect(Native Method) ~[?:?]
2024-05-29 16:06:29 at sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[?:?]
2024-05-29 16:06:29 at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:542) ~[?:?]
2024-05-29 16:06:29 at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[?:?]
2024-05-29 16:06:29 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?]
2024-05-29 16:06:29 at java.net.Socket.connect(Socket.java:633) ~[?:?]
2024-05-29 16:06:29 at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:368) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) ~[httpclient-4.5.13.jar:4.5.13]
2024-05-29 16:06:29 at com.parashift.onlyoffice.util.RequestManager.executeRequest(RequestManager.java:91) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.util.RequestManager.executeRequestToDocumentServer(RequestManager.java:55) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack.updateNode(CallBack.java:305) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack.access$100(CallBack.java:38) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at com.parashift.onlyoffice.scripts.CallBack$ProccessRequestCallback.execute(CallBack.java:247) ~[onlyoffice-integration-platform-jar-6.1.0.jar:?]
2024-05-29 16:06:29 at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:452) ~[alfresco-repository-20.64.jar:20.64]
2024-05-29 16:06:29 ... 44 more
The reason why I think this goes wrong is because the url/changesurl is refering to https://localhost:443/cache/…, this is the url under which the file can be found in the onlyoffice container, but the alfresco container has to use a different url to connect to onlyoffice (in our case https://onlyoffice:443/cache/…), but I don’t know how to change this.
I thought maybe I have to change the files.docservice.url.public property, as defined here: Connecting ONLYOFFICE Docs to ONLYOFFICE Groups - ONLYOFFICE but I cannot find the specified file (/var/www/onlyoffice/WebStudio/web.appsettings.config) in the docker image: onlyoffice/documentserver:latest
What can I do to fix this?