Solved

Receiving a 422 when re-publishing a service that uses a Notification Service

  • 13 August 2020
  • 4 replies
  • 96 views

Hi all,

I am trying to modify a workbench and re-upload it to the server (2020.1 to 2020.1) and am getting back an error that:

 

The following readers or writers are included in an enabled service, but are not present in the workspace: [SourceDataset_JSON]

Request to xxx returned status code 422.

 

This has only happened since we updated the server from 2020.0 to 2020.1. The workbench takes incoming JSON from a notification service using a topic and subscription and runs it through the workbench and dumps it into an Esri Portal FS.

 

This error is odd because there is only one reader and one writer in the service.

 

If anyone else has seen this problem please let me know.

 

Thanks!

-Adrian

icon

Best answer by hollyatsafe 10 September 2020, 23:44

View original

4 replies

Badge +2

I am having the same issue, moving from 2020.0 to 2020.1.

 

Any susggestions?

After talking with Safe, it has been determined that it is a known error. They are moving away from Topics/Notifcations and towards all automation's. What you can do is delete the workspace off the server and reupload it and it will allow you to grab that JSON again.

 

-Adrian

Badge +2

Thanks for your response.

Badge +2

I just wanted to let everyone know that a fix has gone into FME 2020.1.3 which is scheduled for release in October. Please see below for a workaround that means you do not have to delete your workspace from FME Server in order to be able to publish it again.

 

Workaround

 

Whenever you publish a workspace to FME Server under the Notification Service essentially what this is doing is creating a Subscription with the FME Workspace protocol.

 

In the FME Server Web UI you'll find the name of this subscription is <username>.<repository>.<workspace> and when you view this you'll see is is subscribed to the Topic SAMPLE_TOPIC(or other), underneath that in the Protocol Settings box there is a section for Workspace Published Parameters and next to the Source JSON File there is a checkbox 'Get Value from Topic Message'. This is equivalent to the Service Properties: Parameter to get Topic Message in the Notification Service. 

 

Therefore the simplest option would be to un-register your workspace from the Notification Service and instead start to manage this subscription from the Web UI. The current subscription is tied to the service registration so you'll need to create a new Subscription to keep this up and running and allowing you to remove that service registration, here are the steps I would take:

  1. In FME Server Web UI go to Automations > Notifications (Classic) > Subscriptions
  2. Find the relevant subscription, and select the checkbox to the left of the subscription name, then you'll have the option to duplicate it 
  3. Give the new Subscription a name, then leave everything else as is. 
  4. You'll now have the workspace subscribed to the topic twice. You could delete the old subscriber but this does not help with the publishing issue. Publish your workspace back to FME Server and this time un-register it from the Notification Service. Once publishing is successful (yay!) double check in the Web UI the old subscriber has been removed. 

You'll now be able to make any updates to these workspaces and re-publish them because they are no longer relying on the Notification Service, instead if you want to make any changes you can manage this directly through the subscription in the Web UI. 

 

All this being said, in the long-term I would recommend moving any Notifications over to Automations, as this is now legacy functionality meaning there will likely come a point where if any bugs arise, they may not be addressed in favour of the Automations functionality. 

Reply