Unlock the power of web connections & services using FME in this upcoming webinar. Whether you're a developer, IT professional, or simply interested in expanding your technical expertise, this session is designed to provide valuable insights and practical guidance on setting up and understanding web connections using FME.
Join us as we walk you through the process of connecting to a new web service, from building the web service definition to ensuring seamless integration, all accomplished with the help of FME. We'll cover the essentials and equip you with the skills to troubleshoot and test your web service effectively using FME's robust capabilities.
Additionally, we'll explore how to make API calls using FME's HTTPCaller, showcasing real-world examples and best practices to maximize efficiency. Our expert presenters will share their insights throughout, helping you make the most of web connections & services in your projects.
Don't miss out on this opportunity to gain a comprehensive understanding of web connections with the power of FME and enhance your technical capabilities. Register now and harness the full potential of seamless web connection integration in FME.
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Web Connections & Services in FME Webinar
1. Web Connections & Services
in FME: Tips & Tricks to
Setting Up and Harnessing
their Full Potential
2. Jen
Luther Thomas
Technical Support Team
Lead, FME Flow Hosted
Matt
Meeboer
Technical Support Specialist,
FME Flow
Jenna
Kim
Technical Support Specialist,
FME Form
3. Agenda
1 Introduction
2 Safe & FME
3 Connecting to a New Web Service: What You Need
4 Building the Web Service Definition
5 Using the HTTPCaller: Making API Calls
6 Real World Examples
7 Sharing Web Connections
8 Troubleshooting Your Web Service
9 Conclusion
10 Resources, Next Steps, Q&A
4. Welcome to Livestorm.
A few ways to engage with us during the webinar:
Audio issues? Click this for 4 simple
troubleshooting steps.
5. How to download slides
1. Hover over the
slide deck in the
webinar room
2. Click this button
6. Poll: What is your
experience with web
connections and
services?
9. More of Our Data is Living in Web Applications
Common frustrations people face with this topic are:
● How do I integrate with my Web Application?
● FME doesn’t have a connection template for my Web Application!
● I setup a connection, but it doesn’t work.
● Ok, I’m connected, but the connection is unreliable :-(
We’re here to help!
Introduction
10. ● Reusable
● Shareable
● Deployable (especially paired with
Deployment Parameters)
● Exchangeable
● ArcGIS, SharePoint, Google, Amazon,
Trimble and much more
Importance of Web
Connections in FME
Introduction
13. Number
of
supported
formats
in
FME
1995 2000 2005 2010 2015 2020 2023…
10
100
300
500
GIS
CAD
Database
XML
Raster
3D
BIM
Web
Point
Cloud
Cloud
Big
Data
IOT
Gaming
BI
Indoor
Mapping
AR/VR
Generative
AI
Cloud
Native
Tabular
Safe & FME
15. Web Connections - What are they?
● A safe and convenient way to store and reuse your
connection parameters
● A secure, named container to use in your workflows
● Use with all supported authentication protocols
● Register with Web Services from FME Form
● Different types: OAuth 2.0, Token, HTTP
Authentication
Connecting to a New Web Service: What You Need to Know
16. Two Parts
The Web Service
Connecting to a New Web Service: What You Need to Know
The Web Connection
One service, many connections
17. Key Components of a Web Service
● Token: An alphanumeric string used to authenticate and identify an application to an
API. Takes the place of a username + password.
● REST API: a set of defined constraints that allows the software to communicate with a
defined protocol, like HTTP. In web services, REST APIs serve tokens.
● JSON: Javascript Object Notation. The format used to pass data back and forth to a web
service’s REST APIs
Connecting to a New Web Service: What You Need to Know
More components based on type of web service
18. Why API Authentication Matters
● Authentication: Verifies your identity before you
can make a request.
● Authorization: Verifies that you are allowed to make
that request.
Authentication protects an API’s data, resources and
functionality.
Connecting to a New Web Service: What You Need to Know
19. Connecting to a New Web Service: What You Need to Know
401 error: no token provided in request or bad token provided
403 error: forbidden. Authenticated ok, but the token is not authorization
to access the resource requested
20. Authenticating with FME
HTTP Authentication Protocols
● Basic
● Digest
● Kerberos
● NTLM
Even More Ways to Authenticate….
● API Keys/Application Tokens
● User Tokens
● OAuth 2.0
Connecting to a New Web Service: What You Need to Know
21. Connecting to a New Web Service: What You Need to Know
Authentication Token Expiry
● For security, authentication tokens almost always
expire after time
● Duration before expiry determined by web
application providing token, not FME.
● When using token to authenticate, FME will track
when current one expires, get new one if needed
22. Connecting to a New Web Service: What You Need to Know
ok nice very nice!
23. Laying the Groundwork
● Can you access web application you are building the web service for from FME Form or
Flow machine?
● Have you reviewed web application vendor’s API Documentation?
● Review FME Form doc for reader or writer you are going to use web connection for
● Review articles in FME Community for step-by-step instructions on creating web services
for popular web applications
Connecting to a New Web Service: What You Need to Know
25. Token Web Services
● One of common web service types (other: OAuth 2.0)
● Simpler than OAuth 2.0
● Request a token from web application’s REST API in format
specified by provider
● Token expiry time is received from the REST API
● When token expires, same process to get another (not the case
with OAuth 2.0)
Building the Web Service Definition
26. Token Web Service Key Components
Token Generation REST API:
tells FME how to make the request to get a
token
Access Token Response:
tells FME the token and expiry key names it
should expect back
API Call Parameters:
tells FME how to use the token key to make
calls to the web application
Building the Web Service Definition
31. Introduction to the HTTPCaller and its role in web
service integration
In 2018 on the FME Community (Ideas) a user requested:
“Similar to how the Slack integration works, it
would be nice to automate the push notification of
x,y,and z to a channel within Microsoft Teams.”
Using the HTTPCaller: Making API Calls
32. Step-by-step guide for utilizing the HTTPCaller in
FME to make API calls
● Does the application that you want to interact with have an API?
● Find the documentation for the request you need to make
● How does that service authenticate?
● Start building!
Using the HTTPCaller: Making API Calls
33. OAuth 2.0 Web Service Key Components
Client ID:
is the public identifier for your application
Client Secret:
acts as a password between the client (FME) and the
service
Redirect URI:
tells the service where to send sensitive information
(tokens)
Authorization URL:
where FME will request an authorization code from
Building the Web Service Definition
How to configure the Microsoft Teams web service
34. OAuth 2.0 Web Service Key Components
Client ID
Client Secret
generate a secret for FME Flow
Redirect URI
choose desktop app (Form) or web app
(Flow)
Tenancy
for the authorization url
API permissions
control what FME is authorized to access
Building the Web Service Definition
35. Build and Test: Web Service Permissions
To make requests to the Microsoft Graph API the user will need to be authorized to access
specific resources.
Using the HTTPCaller: Making API Calls
The permissions that are needed are
listed in the API documentation.
To be authorized to send a message
the ChannelMessage.Send
permission is required.
36. Build and Test: Web Service Permissions
Using the HTTPCaller: Making API Calls
Add all required permissions to the
Azure app registration. These can be
found in the Microsoft
documentation.
To POST a message multiple HTTP
requests are required to obtain team
id, channel id and send the chat
message.
POST /teams/{team-id}/channels/{channel-id}/messages
37. Build and Test: HTTPCallers
Using the HTTPCaller: Making API Calls
38. Put it all together
Every HTTPCaller uses the same Microsoft Teams web
service, configured as a web connection user parameter
39. Share your work!
Make your process easy to use (custom transformer)
Template your web service definition
Share it on hub.safe.com
41. Benefits of connecting to Web Services
● Web services enable remote data access, interoperability, and modularity for cost-efficient
and scalable global solutions.
● Standardized protocols ensure platform-independent communication; modular services
offer easy maintenance, real-time updates, and agile pivoting.
● Integration of diverse web services provides security, innovation, and specialized
functionality for powerful, adaptable, feature-rich apps.
Real World Examples
45. Sharing Web Connections within your
Organization
If you have only FME Form:
● Export/Import web service .xml definition in FME Form
● Sharing the FME Form connection storage file and the public key file on a network drive
Sharing Web Connections
Making Database and
Web Connections
Public
46. Publish to FME Flow
● Share web connections with other FME Flow users
● Create Deployment Parameters (Requires FME Flow 2023+)
Sharing Web Connections
You will need to share the connection on
FME Flow for others to use it.
50. Deployment Parameters
Connecting to a New Web Service: What You Need to Know
One parameter, many values
(depends on connected FME
Flow Instance)
FME Flow Test Instance
FME Flow Production Instance
52. Generic Troubleshooting Tips
● Have you verified the connection is set up correctly?
● If you’re seeing an error message, have you searched the internet for that error?
● Use web monitoring tools
● Have you looked in log files?
Testing and Troubleshooting Your Web Service
53. OAuth 2.0 Connection Errors
● OAuth Failed
● Invalid Redirect URI
● Check your web service settings
○ Client id, secret and redirect url must all match
values from the oauth app in the web application!
Testing and Troubleshooting Your Web Service
55. More Errors
● HTTP Errors (i.e., 401, 403, 404)
● Timeouts
○ FME can’t reach the web application URL
● HTTPS or SSL Certificate Errors (FME Flow)
○ May need to import the ssl certificates to establish
trust
● Can you get a token outside of FME using a tool like
Postman or cURL?
Testing and Troubleshooting Your Web Service
Troubleshooting
ArcGIS Online Web
Connections
Troubleshooting
SharePoint Web
Connections
56. Connection Stops Working on FME Flow
● Works for a while, then you start receiving invalid token errors
● Tokens are published with the web service, but they expire
● Confirm your web service is configured correctly on FME Flow
○ Authorize the web connection
● Use different web connections for different FME Flow instances
Testing and Troubleshooting Your Web Service
58. Summary
● Web connections let you reuse and share
without hard-coding web application
credentials
● A web connection has underlying web
service configuration
● Web services use tokens to authenticate
● Key web service types: token and OAuth
● FME provides web service templates for
dozens of popular web applications
● Define your own web service templates
using web application vendor’s
documentation
Conclusion
60. Resources
● Web Connections and FME
● Making Database and Web Connections
Public
● Deployment Parameters
● FME Flow Troubleshooting: Web
Connections
● Check out the FME Community for many
application-specific web connection
articles!
61. Get our Ebook
Spatial Data for the
Enterprise
fme.ly/gzc
Guided learning experiences
at your fingertips
community.safe.com
/s/academy
FME Academy
Webinars
Upcoming & on-demand
webinars
safe.com/webinars
63. We’d love to help you get
started.
Get in touch with us at
info@safe.com
Experience the FME Accelerator
Contact Us
Unlock the power of your
data in only 90 minutes
Register for free at
fme.safe.com/accelerator
Next Steps
64. ClaimYour Community Badge
● Get community badges for watching
webinars!
● fme.ly/WebinarBadge
● Today’s code: GFCSB
Join the Community today!
Next Steps