Search code examples
javawso2esbwso2-enterprise-integrator

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


i have an detault installation of WSO2 EI 6.5.0 and when I am trying to save an existing proxy service i recive a "Read Only" ERROR on log.

[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.access$1400(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.access$1400(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


Solution

  • It seems like a permission issue. Can you check on the server user for running wso2 service has read/write permissions for artifact location? You can get the server user for wso2 server by command: ps -ef|grep wso2. Then you can check the permission for the artifact location by executing the following command.

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

    If the server user doesn't have write permission for the artifact location you need to provide the ownership to the user for the artifact location[1]

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