It’s possible for this io variable to contain just about anything, and as long as it isn’t obviously XML, then it will try to open the string as a file:
# lib/rfm/utilities/sax_parser.rb:838
def run_parser(io)
parser = Nokogiri::XML::SAX::Parser.new(self)
parser.parse case
when (io.is_a?(File) || io.is_a?(StringIO))
io
when io[/^</]
StringIO.new(io)
else
File.new(io)
end
end
I'm still not sure what Filemaker was responding with, since restarting the WPE fixed the problem, but it was really confusing to see Errno::ENOENT in multiple apps' log files.
If this happens again I'll take a closer look and hopefully make a pull request to at least make the error more descriptive.