We have an ArcGIS Enterprise setup (10.5) with a feature service we're passing through ArcGIS Online to be used in a public-facing web app. It displays the service and allows for different types of queries that can be run against it. Some of the queries are custom-written and have been added to the app, which was created in Web App Builder. During testing, I had enabled security on the service, so it was added into AGOL with credentials that were stored with the item. Now, I have removed the security on it to make it public, so it can be used in the app more easily. The problem is, we're running into issues with the service and not being able to access the item description. When I go to the Overview page in AGOL and click "Service URL" I get the following screen:
Also, the URL on the Overview page references an arcgis.com item (lower left), but on the Settings tab it references my Enterprise feature service (lower right). It also gives me the option to edit the credentials that are stored with the item.
I'm not sure, but I'm guessing the error I'm getting above is due to the fact that when the item was originally added, it was secure, so credentials were stored with it. But now, I don't know how to update it to tell AGOL that it is a public service and does not need to store credentials. Is there a way to update an AGOL item that's coming from ArcGIS Enterprise to remove the credentials?
I've tried adding the item from Enterprise again, and it does not ask for credentials, and the "Service URL" takes me to the item description page as it should. So, I'm assuming we could just remove our production AGOL layer, re-add it, and it would be good to go, but I'm worried it might disrupt some of the custom queries we have built in the app. If the service name is the same, everything should still work, right?
When a service is secure and added to ArcGIS Online using the option to store credential, a proxy item is created which securely stores the information. When ArcGIS.com accesses the layer it goes through the proxy before accessing your service on your server. That is why you see the item url as https://utility.arcgis.com after it has been added.
When you make the item public, it is still registered in ArcGIS Online as a service that needs to be connected through a proxy when this isn't needed. I would suggest deleting the initial item and adding the url as a new item. This way it will register the url without a proxy and your users can find and use the url. You will need to update any maps that had the proxied service with the new url.