Marcel Moré erläuterte einen Bug in der oData Implementierung des FileMaker Servers, auf den er bei eigenen Tests mit der aktuellen Version 21.1.1.40 gestoßen ist.

Ausgangspunkt war die Verwendung einer Datenbank-Datei, dessen Name Leerzeichen enthält. Da der Dateiname auch einem der enthaltenen Tabellen-Namen entspricht, kamen die Leerzeichen also an zwei Stellen in der oData URL vor.

Normalerweise werden Leerzeichen in einer URL als %20 oder Pluszeichen codiert. Das klappt auch mit dem Dateinamen in der oData URL, solange der Pfad hier endet. Eine Abfrage in der folgenden Form funktioniert auf dem FileMaker Server Version 21 problemlos:
https://fms.mein-server.de/fmi/odata/v4/Dateiname%20mit%20Leerzeichen/$metadata

Enthält die URL im Pfad jedoch einen Tabellennamen mit Leerzeichen, dann wird die angeforderte Ressource nicht ausgeliefert, sondern es erscheint stattdessen die folgende Fehlermeldung: Error Code: -1002 Error Message: Error: syntax error in URL at: ‘Tabellenname’

Sogar die vom FileMaker Server selber bei der oData HTML Ausgabe angebotenen Links zur Tabelle funktionieren nicht!

Als Workaround ist die Verwendung einer hexadezimalen Codierung für die Leerzeichen im Tabellennamen möglich. Es muss dann anstatt %20 eine Doppelbyte-Notation %2520 für jedes Leerzeichen verwendet werden.

Zu beachten ist, dass auch alle von oData zurück gelieferten Paging-Links innerhalb der Ergebnisse entsprechend umgewandelt werden müssen, da sonst der o.g. Fehler bei deren Verwendung auftaucht.

Zwar ist die Verwendung von Leerzeichen oder Sonderzeichen in Tabellennamen ohnehin nicht empfehlenswert. Allerdings handelt es sich hier ganz offensichtlich um einen Implementierungsfehler im FileMaker Server, der die Codierung der URL nicht richtig umsetzt. Es bleibt zu hoffen, dass dieser Bug in einer zukünftigen Version von Claris behoben wird.

Fehlerbeschreibung im FileMaker Magazin Forum:
https://filemaker-magazin.de/forum/beitrag/233593