wso2 / product-ei

An open source, a high-performance hybrid integration platform that allows developers quick integration with any application, data, or system.
https://wso2.com/integration/
Apache License 2.0
373 stars 280 forks source link

Cannot edit disabled proxy service #2576

Open nbtjlr opened 6 years ago

nbtjlr commented 6 years ago

Description: Proxy service cannot be edit if it is disabled.

Suggested Labels: Proxy Service, Edit, disabled

Affected Product Version: 6.2

Steps to reproduce:

  1. Deactivate proxy service
  2. Edit Proxy service
  3. Save proxy service

when the user saves the proxy service, a pop is created reporting: "Unable to modify proxy service :: Unable to modify proxy service: "

on the server log, it is reported that: TID: [-1234] [] [2018-08-22 09:43:30,391] ERROR {org.wso2.carbon.proxyadmin.ui.client.ProxyServiceAdminClient} - Unable to modify proxy service: <Proxy name> {org.wso2.carbon.proxyadmin.ui.client.ProxyServiceAdminClient} org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminProxyAdminException: ProxyServiceAdminProxyAdminException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) .... Caused by: org.apache.axis2.AxisFault: The system is attempting to access an inactive service: <Proxy name> at org.apache.axis2.engine.AxisConfiguration.getService(AxisConfiguration.java:1049)

User should be able to edit the proxy service. In a scenario where there is something wrong with the proxy service, the user can only edit the service it the service is running and therefore it may produce incorrect logic while it is correctling it. Also, this prevents user from stop the service and fix it and then start it again.

Asitha commented 6 years ago

Hi @nbtjlr,

I assume you are trying to edit a disabled proxy service through the management console synapse editor. This tool is not a recommended tool for editing production grade setups.

Recommended workflow to edit Integrator synapse configurations is through WSO2 EI Tooling product [1]. You'll be able to create a Carbon Application (CApp) with all the synapse configurations through EI tooling product and deploy it into the server. There are tutorials on WSO2 EI documentation on how to use WSO2 EI Tooling to serve this purpose [2]

In your case, you'll be able to disable the proxy service using the management console and then update the service with WSO2 EI tooling and deploy the service to the server as a CApp.

[1] https://wso2.com/integration/tooling [2] https://docs.wso2.com/display/EI620/Sending+a+Simple+Message+to+a+Service

nbtjlr commented 6 years ago

Hi Asitha,

The WSO2 EI Tooling is a development tool. Like it clearly says in the tool name. I cannot expect that a support engineer knows how to work and update items using the development tool.

The synapse editor is provided in the management console. and I believe it should be the editor used to correct or make temporary fixes on a production environment.

This functionally was possible on 6.1. And also, it is possible to change enabled proxies on 6.2. We cannot have one way of doing things for some cases and a another way of doing it for other cases. Doesn't make sense. Also, WSO2 should not provide a tool like synapse editor and then say it is not recommend to use it.

Cheers, Norberto

On 22 August 2018 at 14:11, Asitha Nanayakkara notifications@github.com wrote:

Hi @nbtjlr https://github.com/nbtjlr,

I assume you are trying to edit a disabled proxy service through the management console synapse editor. This tool is not a recommended tool for editing production grade setups.

Recommended workflow to edit Integrator synapse configurations is through WSO2 EI Tooling product [1]. You'll be able to create a Carbon Application (CApp) with all the synapse configurations through EI tooling product and deploy it into the server. There are tutorials on WSO2 EI documentation on how to use WSO2 EI Tooling to serve this purpose [2]

In your case, you'll be able to disable the proxy service using the management console and then update the service with WSO2 EI tooling and deploy the service to the server as a CApp.

[1] https://wso2.com/integration/tooling [2] https://docs.wso2.com/display/EI620/Sending+a+Simple+ Message+to+a+Service

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/wso2/product-ei/issues/2576#issuecomment-415026358, or mute the thread https://github.com/notifications/unsubscribe-auth/AkDvy2CYEOMkVHcPITRy_u1IyImPQjmKks5uTViDgaJpZM4WHPs4 .

Asitha commented 6 years ago

Hi Norberto,

I agree you have a valid concern regarding this. And I have kept this issue open so that one of our engineers can pick this issue and fix it in an upcoming EI release.

Let me give you some background on why I encouraged you to use the EI Tooling instead of the synapse editor.

We have introduced the synapse editor on management console before starting to develop a separate development tool for the integrator. For historical purposes, we kept the synapse editor on the management console and focussed our efforts on improving the WSO2 EI Tooling as the primary tool to edit synapse configurations.

We are already discouraging users from editing synapse configurations deployed through CApp with synapse editor by way of displaying a warning. In addition, we have disabled editing the full source view on management console as well.

Ideal workflow we encourage you to have is through EI tooling where you'll be developing you synapse configurations on your developer environments and gradually moving the artifacts higher up the QA, Pre-Prod environments and releasing to production. And if there is a misconfiguration it should be fixed and tested on QA or Pre-Prod environment before the fix is released to the production.

If you have already deployed your synapse configurations through a CApp, editing through the management console will be lost when you restart the server. And this can lead to mistakes like loosing the fixes made as well.

Regards, Asitha