I use a workspace that reads a list of data sources in an Excel file. The data sources are either a gml file, in url format or not, or wfs urls. The workspace reads the data and converts and merges it into one filegdb.
In total, the workspace processes approx. 50,000 features. Nevertheless, the following error message often occurs: HTTP transfer error: 'Failure when receiving data from the peer' when reading (with a FeatureReader) the WFS sources. See also the discussion in:
problem-wfs-query-5215.
Findings (including those based on) this last discussion:
- Increasing Timeout values or limiting the maximum number of features to be read does not seem to have any effect.
- Another suggestion to read the GetFeature request via a browser resulted in the expected XML content for most services, but for the wfs that gives the HTTP transfer error, in an image with only coordinates and attribute values in text format. It can take a while for the browser (Chrome in this case) to convert the read values to the XML presentation, but for the problem layer that does not work in half an hour either.
- The Debug logging did not provide any specific information either.
- Ignore GetFeature Error in the WFS FeatureReader does not seem to provide a solution either.
- The error does not occur when I use curl, and save the result of the GetFeature request to an output file.
- The error also does not occur when I read the Excel file in a separate workspace, select only a few wfs layers and read them with the copied FeatureReader.
That's why my thought went to a solution where I use a TempPathnameCreator to create a temporary file (.ffs) and write the results to the temporary file via a WorkspaceRunner for each layer, and read these results using a FeatureReader (ffs format).
Another discussion does not have a solution on this error.
However, this discussion: using-workspacerunner-on-fme-server-18650 indicates that it is better not to use WorkspaceRunners on FME Flow, and that is where the workspace has to run eventually.
The solution I have in mind now is to cut up the entire workspace into separate sub-workspaces and execute them in an FME Flow Automation. The sub-workspaces then have the following separate tasks:
- Process the Excel and start a job per data source.
- Read the data per data source and convert it to ffs (or another format?).
- A workspace that reads the ffs file and performs the transformation and merging.
My question: is there anyway to bypass the HTTP transfer error?
Any thoughts are welcome.