WSO2 - 尝试保存代理服务或序列时出现问题

WSO2 - Problem when trying to save a Proxy Service or Sequence

我默认安装了 WSO2 EI 6.5.0,当我尝试保存现有代理服务时,我在日志中收到 "Read Only" 错误。

[2019-06-25 08:06:44,865] [-1234] [] [http-nio-9443-exec-40] INFO {org.wso2.carbon.mediation.dependency.mgt.DependencyTracker} - Proxy service : FileProxy_Tienda_Stock was removed from the Synapse configuration successfully [2019-06-25 08:06:44,867] [-1234] [] [http-nio-9443-exec-40] INFO {org.wso2.carbon.mediation.dependency.mgt.DependencyTracker} - Proxy service : FileProxy_Tienda_Stock was added to the Synapse configuration successfully [2019-06-25 08:06:44,867] [-1234] [] [http-nio-9443-exec-40] INFO {org.apache.synapse.core.axis2.ProxyService} - Building Axis service for Proxy service : FileProxy_Tienda_Stock [2019-06-25 08:06:44,868] [-1234] [] [http-nio-9443-exec-40] INFO {org.apache.synapse.core.axis2.ProxyService} - Adding service FileProxy_Tienda_Stock to the Axis2 configuration [2019-06-25 08:06:44,869] [-1234] [] [http-nio-9443-exec-40] INFO {org.wso2.carbon.core.deployment.DeploymentInterceptor} - Deploying Axis2 service: FileProxy_Tienda_Stock {super-tenant} [2019-06-25 08:06:44,870] [-1234] [] [http-nio-9443-exec-40] INFO {org.apache.synapse.core.axis2.ProxyService} - Successfully created the Axis2 service for Proxy service : FileProxy_Tienda_Stock [2019-06-25 08:06:47,322] [-1] [] [Thread-21] ERROR {org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore} - Error while saving the proxy service: FileProxy_Tienda_Stock to the file system java.io.IOException: Destination '././repository/deployment/server/synapse-configs/default/proxy-services/FileProxy_Tiendas_Stock.xml' exists but is read-only at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1089) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038) at org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.writeToFile(MultiXMLConfigurationSerializer.java:758) at org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.serializeProxy(MultiXMLConfigurationSerializer.java:412) at org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:47) at org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:32) at org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:78) at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:476) at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access00(MediationPersistenceManager.java:71) at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager$MediationPersistenceWorker.run(MediationPersistenceManager.java:452) [2019-06-25 08:06:47,326] [-1] [] [Thread-21] ERROR {org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager} - Error while saving mediation configuration changes org.wso2.carbon.mediation.initializer.persistence.ServiceBusPersistenceException: Error while saving the proxy service: FileProxy_Tienda_Stock to the file system at org.wso2.carbon.mediation.initializer.persistence.AbstractStore.handleException(AbstractStore.java:206) at org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:49) at org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:32) at org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:78) at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:476) at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access00(MediationPersistenceManager.java:71) at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager$MediationPersistenceWorker.run(MediationPersistenceManager.java:452) Caused by: java.io.IOException: Destination '././repository/deployment/server/synapse-configs/default/proxy-services/FileProxy_Tiendas_Stock.xml' exists but is read-only at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1089) at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038) at org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.writeToFile(MultiXMLConfigurationSerializer.java:758) at org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.serializeProxy(MultiXMLConfigurationSerializer.java:412) at org.wso2.carbon.mediation.initializer.persistence.ProxyServiceStore.saveToFile(ProxyServiceStore.java:47) ... 5 more

File_Proxy

这似乎是一个权限问题。您可以检查 运行 wso2 服务的服务器用户是否具有工件位置的 read/write 权限?您可以通过命令获取 wso2 服务器的服务器用户:ps -ef|grep wso2。然后您可以通过执行以下命令来检查工件位置的权限。

ls -lrt repository/deployment/server/synapse-configs/default/

如果服务器用户没有工件位置的写入权限,您需要向用户提供工件位置的所有权[1]

[1] -https://askubuntu.com/questions/6723/change-folder-permissions-and-ownership