FME Version
Symptom
You have a workspace that uses an ArcGIS Online Web Connection to authenticate an API call (for example, in an HTTPCaller or ImageFetcher transformer). After publishing the workspace to FME Server and then running it, the translation fails due to an authentication error from ArcGIS Online, for example 499 Token Required. The workspace translation completes successfully when run locally through FME Workbench using the same web connection that was published to FME Server.
Cause
This issue will occur if the ArcGIS Online Web Service is out-of-date on FME Server. Although not common, vendors will sometimes make changes that make Web Services on FME Server obsolete. Note that Web Services on FME Server are not updated when you publish a workspace, but will be created if they do not exist.
Resolution
Remove the ArcGIS Online Web Service from FME Server and reupload your workspace and web connection.
- In FME Server, click on Files & Connections, and then Web Connections
- Click on Manage Web Services
- Click the checkbox to the left of the Esri ArcGIS Online Web Service and then click Remove
- Click OK when warned to proceed with removing the web service
- In FME Workbench, republish your workspace and the web connection
- After republishing, check the web services on FME Server. You should see the Esri ArcGIS Online Web Service has been readded.
- Click the web service name to open it. Enter the Redirect Uri (it should be <yourServerHostName>/fmeoauth). Leave the web service page open, as you will need the Client Id and Client Secret. .
- In ArcGIS Online, create a new app with the Client Id, Client Secret and Redirect Uri from the web service in FME Server. For additional instructions, please see the article ArcGIS Online Web Connection Error: 401 Client Error: Unauthorized for url.
- From the list of Web Connections, click on your ArcGIS Online Web Connection and authorize it
- Run your workspace again on FME Server. Authentication should no longer be an issue.
Comments
0 comments
Please sign in to leave a comment.