Introduction
Connecting to the web allows for limitless integration possibilities with FME. Explore the wide selection of readers, writers, and transformers designed to work with web and cloud services. Configurable tools, like the HTTPCaller, allow you to extend and build custom tools with FME to any API.
‘Web services’ cover a diverse range of topics from networking, protocols, scripting, to wrangling data exchange formats. This page covers some of the common formats, tutorials, questions and resources to get started with web services and FME. For a high-level overview of how FME can help you with 3D, see our website
Web Services Terminology
API: an Application Programming Interface is a set of defined constraints that allows the software to communicate with a defined protocol, like HTTP. There are different types of APIs, like RESTful and SOAP.
Authentication: the process of verifying who a user is.
Authorization: the process of checking what information and applications a user has permission to access.
Basic: The simplest form of authentication with a username and password.
Client: usually a web browser, a client requests the data.
Cloud Services: various infrastructure, platform, and software services provided to users through the internet which are hosted and managed by a certain service provider.
FME Flow Web Services: FME Flow provides a Service-Oriented Architecture (SOA) that brings all the capabilities of the FME platform to a server environment. The FME Flow functionality is presented through a number of web- and application-based interfaces.
HTTP/HTTPS: HyperText Transfer Protocol defines the communication “rules” for exchanging data over the web using a client-server structure.
JSON/XML/GML: Common file formats for transmitting data across the web.
OAuth: An open-standard protocol where an application can authenticate a user and access their information through a third-party application without the user’s credentials.
Server: on the other end of the request, a server receives the request from the client and returns data.
Token: An alpha-numeric string used to authenticate and identify an application to an API as opposed to defining a user.
Transformation Services:
- Job Submitter Service: Accepts and runs any workspace job request, and the resulting web page indicates whether the job succeeded or failed.
- Data Download Service: Provides users with the output from a workspace as a downloadable zip file. Use cases often allow users to specify specific layers, formats, and coordinate systems for the download. Optionally, an email with the download link can be sent to specified recipients.
- Data Streaming Service: Accepts and runs transformation requests from a workspace. Results are returned to the requesting client as a data stream/feed with the appropriate MIME type. Uses include workspaces that write HTML, PNG, KML, GeoRSS, GeoJSON, PDF, and others.
- KML Network Link Service: Carries out transformation requests as specified by a workspace, and returns the results as a KMZ file containing a KML Network Link that can be used with Google Earth. This link's URL points to the Data Streaming service and references the requested workspace.
Utility Services:
- Data Upload Service: Used to upload source data or other file-based resources for FME Flow workspaces.
- REST Service: Provides an underlying REST-based communication mechanism for client-service applications, and also serves as a REST API. The REST service supports response formats in JSON and XML.
Web Connection: A convenient and secure way to store and reuse connection parameters to various web services.
Web Service: an application that listens for requests, communicates with other client or server applications, and transmits data across the web via standard protocols like HTTP or HTTPS.
Tutorials
Getting Started Articles
Tutorial: Getting Started with APIs
- Making a GET Request with the HTTPCaller
- How to Access an API using the HTTPCaller
- How to access an API using a JSON Reader
- HTTP Requests with the HTTPCaller
- Advanced API Calls
Tutorial: Getting Started with FME and the Web
- Leveraging the Box.com Web Service with HTTPCaller
- Using Google's Chart API to Create Charts from a CSV and Shapefile
- Providing Live Data to Web Maps
- INSPIRE View and Download Services
Tutorial: Getting Started with JSON
- Reading JSON
- Extracting Location from JSON
- Advanced JSON Reading
- JSON Writing
- Writing JSON with JSONTemplater
- Transforming JSON using the JSONExtractor, JSONFlattener, and JSONFragmenter
Tutorial: Getting Started with XML
- FME Approach to XML
- XML Reader Configuration
- Converting XML
- XML Writing with XMLTemplater
Tips for Working With the FME Flow REST API in FME Workbench
Web Connections and FME
What is Application Integration?
Intermediate Articles
Tutorial: EU INSPIRE Initiative
- INSPIRE GML Format Basics
- INSPIRE GML Basic Writing Example
- INSPIRE Cadastral Parcels Writing Demo
- AIXM Airports to INSPIRE Air Transport Networks
- INSPIRE Protected Areas
- INSPIRE Geographic Names Demo
- INSPIRE Natural Risk Zones (Annex III)
- Converting CityGML to INSPIRE 3D Buildings (Annex III)
- INSPIRE WFS Demo
- INSPIRE WMS Demo
- Read INSPIRE ATOM Download Services with FME
- Create an INSPIRE ATOM Download Service
- INSPIRE Flood Warning Assistant Tutorial
Data Loading Options With FME Server
How to Create a WFS Service Using FME Server
How to Create a WMS Service Using FME Server
Webhooks and FME Flow
Working with SOAP Services
Advanced Articles
Before completing the following articles be sure to work through the Getting Started Articles first.
Tutorial: Creating Web Services using FME Server
Format Documentation
FME has built-in tools to fully connect and integrate with a large host of web and cloud-based services. These readers, writers, and transformers can be accessed and used directly from inside your FME workspaces.
Some of the most popular web-based formats are…
Amazon DynamoDB Reader/Writer
Amazon Redshift Reader/Writer
Esri ArcGIS Online (AGOL) Feature Service
(Esri) ArcGISOnlineConnector
Microsoft Azure SQL Database Spatial (JDBC) Reader/Writer
Microsoft SharePoint List Reader/Writer
OGC WFS (Web Feature Service) Reader
OGC WMS (Web Map Service) Reader
Salesforce Reader/Writer
SAP HANA and Cloud Platform HANA Service Non-Spatial
Socrata2 (FME Desktop Package) Reader/Writer
For the complete list of natively supported Web and Cloud Services, see Supported Web Service Formats (Select Web & Cloud Services in the category filter).
FME Hub
Don’t see what you’re looking for? Create your own web-based custom transformers and web connections to integrate with almost any third-party application. Many examples can be found on the FME Hub.
Autodesk BIM360
Esri ArcGIS Online (BatchGeocoder, Geoenricher, Router, ServiceAreaCalculator)
Google (Geocoder, Static Maps)
Pitney Bowes (Spectrum Geocoder)
Pusher.com
Random.org
GeoNames
Microsoft Azure
Microsoft Teams
- How to create a web service for Microsoft Graph (Microsoft Teams)
- How to configure the Microsoft Teams web service
Top Questions and Answers
I have a web service that I want to access with FME. How can I do that?
Question of the Week: Web Services, cURL, and the HTTPCaller
How do I share a Web Connection between users in FME Server?
How do I reliably connect FME Server to ArcGIS Online?
Is there a way of working with GraphQL APIs using the HTTPCaller transformation?
Additional Resources
Blogs
Connect to APIs and Webhooks in No Time (with No Code)
Guide to Creating, Using, and Maintaining Open Data Portals
How to Do More With ArcGIS Online
Increasing Data Accessibility using Web Applications
The Ultimate Guide to APIs
E-Book:
Creating Web Connections in FME Using OAuth 2.0 Authentication
The Ultimate Guide to Everything API
Templates
Webinars
Application Integration for Smart Cities [0:33:19]
Efficiently Implementing INSPIRE & Creating INSPIRE Mashups with FME [1:12:47]
How to Build Complex Calls to APIs (Without Writing Any Code)[0:55:48]
How to Connect to Any REST API (Without Writing Any Code) [1:02:49]
To Loop or Not to Loop: Overcoming Roadblocks with FME [0:43:52]
XML-athon with Don and Dean [1:27:56]
Troubleshooting
FME Flow Troubleshooting: REST API
FME Server REST API Error Codes
FME Flow Troubleshooting: Connections (Web and Database)
Troubleshooting WFS Errors
Known Issues
For a list of Known Issues, see the following articles: 2021.x, 2020.x, 2019.x, 2018.x, 2017.x
See our article for more information about the deprecation of the FME Server JavaScript API (fmeserver.js).
Support
Can’t find what you are looking for? Search our Community for a related question or post your question in our Forums or contact Support.
Comments
0 comments
Please sign in to leave a comment.