LogoLogo
WEM ModelerWEM ReferenceTutorialsMyWEM
  • WEM Platform Documentation
  • Getting Started
    • Introducing WEM
    • Create WEM Account
    • WEM Login
    • MyWEM Portal
      • MyWEM Features
      • MyWEM Support
      • Allow Support Access
    • Partner Portal
  • WEM Modeler
    • Introducing the WEM Modeler
    • Modeler Start Page
    • Manage Projects & Workspaces
    • User Roles Scheme
    • Create a new Project
    • Modeler Application Overview
    • Project Settings
      • Project Configuration
      • Security Settings
      • Portal Settings
      • SMTP Settings
      • Mobile App Settings
    • Expression Editor
    • Flowcharts
      • User Interaction
      • End Node
      • Sub-flowchart
      • Navigation
      • Clear session
      • Decision
      • Assignment
      • List Action
      • Loop
      • Copy Data
      • Save and Discard
      • Import Data
      • Export Data
      • Invoke Webservice
      • HTTP Request
      • Execute Process
        • Different processes explained
        • Send Email
        • Change settings
        • Changing files
        • Generate File
      • Ping server
      • Authenticate
      • Comet Messages
      • OpenAI
      • Async Tasks
      • Note Node
    • Data Model
      • WEM Session Folder
    • Services and Integration
      • Webservices
      • Remote Data Sources
      • Authentication Providers
        • SAML 2.0
          • SAML App Registration in EntraID
        • OAuth 2.0
      • Comet - Real Time Messages
      • Certificates
    • Concepts and Concept Queries
      • Concepts
      • Concept Queries
      • Concept Relations
    • Navigation
      • HTTP Endpoints
      • Tasks
    • Files and Assets
      • Widget Libraries
      • Template Fragments
      • Files
      • Hyperlinks
    • Multilanguage Dictionary
    • Agentic AI
      • WEM AI Agent
      • AI Flowchart Nodes
      • AI User Interaction
    • WEM Preview
    • WEM Runtime
      • Publishing Process
      • Staging
      • Live
    • Debugging
  • Template Editor
    • Interaction Template Editor
      • Interaction Template Hotkeys
    • General and preview
    • Style
      • Heading Type
      • Paragraph Style
      • Text Styling
      • Alignment
      • Hyperlink
      • Tooltip
    • Layout
      • Adaptive columns
      • Div
      • Panel
      • Alert
      • Table
      • Image
      • Icon
      • Label
    • Interaction
      • Form
      • Validation
      • Required field
      • Button
      • Dropdown
      • Free form item
    • Miscellaneous
      • Tabbar
      • Google maps
      • Nested template
      • Script
      • Reference
      • Conditional
      • Data grid
      • Repeater
      • Rich text
      • Custom
    • WMT Tool
  • WEM Reference
    • WEM Expressions Reference
    • Functions
      • Aggregation
        • Average
        • Count
        • First
        • Last
        • Max
        • Min
        • Sum
      • Concepts
        • ConceptId
        • Description
        • FindConcepts
        • GetAncestors
        • GetChildren
        • GetDescendants
        • GetParent
        • Intersection
        • LocalName
        • Synonyms
        • ToConcept
        • Union
      • Date
        • Date
        • DateDiff
        • DateOnly
        • DatePart
        • DayOfWeek
        • FromUnixTimestamp
        • MoveDate
        • Now
        • TimeOfDay
        • Today
        • ToDuration
        • ToLocal
        • ToUnixTimestamp
        • ToUTC
        • UTCNow
        • UTCToday
      • Environment
        • ApplicationId
        • CountryCode
        • CountryName
        • Hostname
        • IpAddress
        • IsFirstRequest
        • IsHttps
        • IsPreview
        • IsStaging
        • IsLive
        • NodeTrail
        • PortalId
        • PortalName
        • ProjectId
        • ProjectName
        • ProjectVersion
        • Setting
        • UrlPath
      • Files
        • FileName
        • FileSize
        • FileUrl
        • MimeType
      • Lists
        • Distinct
        • IsNewRow
        • IsOnRow
        • List
        • NameOf
        • RowId
      • Math
        • Abs
        • Ceiling
        • Cos
        • Distance
        • Exp
        • Floor
        • Log
        • Log10
        • Pi
        • Pow
        • Random
        • Round
        • Sin
        • Sqrt
        • ToNumber
      • Security
        • AesDecrypt
        • AesEncrypt
        • AesIv
        • AesKey
        • CreateJsonWebTokenH256
        • HmacSha256
        • Md5
        • Password
        • PasswordStrength
        • Pbkdf2
        • Sha1
        • Sha256
        • Totp
      • Text
        • AsText
        • Base32ToText
        • Base64ToText
        • CompareFuzzy
        • Concat
        • Contains
        • FormatDate
        • FormatDuration
        • FormatNumber
        • Guid
        • HexToText
        • HtmlAttributeEncode
        • HtmlEncode
        • IndexOf
        • JavascriptEncode
        • JsonEncode
        • Length
        • Padl
        • Padr
        • RegExIsMatch
        • RegExMatches
        • RegExReplace
        • Replace
        • Split
        • StringPart
        • SubString
        • ToBase32
        • ToBase64
        • ToBase64Url
        • ToHex
        • ToLower
        • ToRichText
        • ToString
        • ToTitleCase
        • ToUpper
        • Trim
        • UrlDecode
        • UrlEncode
        • XmlAttributeEncode
        • XmlEncode
        • XPath
        • XPathList
        • XPathNumber
      • Validation
        • HasValue
        • IsEmpty
        • IsKnown
        • IsUnknown
        • IsValidBankaccount
        • IsValidBSN
        • IsValidBTW
        • IsValidEmailAddress
        • IsValidIBAN
        • IsValidPhonenumber
        • IsValidURL
      • Localization
        • AvailableLanguages
        • CurrentLanguage
        • CurrentTimezone
        • LanguageStrategy
        • Languages in WEM
    • Keywords
      • Contains
      • Concepts
        • Ancestor of
        • Child of
        • Concept
        • Descendant of
        • Overlaps
        • Range of
        • Parent of
        • Contains
      • Environment
        • ApplicationRoot
        • Platform
      • Lists
        • In
        • Of
        • Where
        • Contains
        • All
      • Logic
        • And
        • Not
        • Or
        • Choose
        • If Then Else
      • Mobile
        • BatteryLife
        • BuildVersion
        • ConnectivityTypes
        • DeviceId
        • DeviceName
        • IsDevelopmentBuild
        • IsDistributionBuild
      • Text
        • Contains
        • Ends with
        • NewLine
        • Starts with
    • Operators
      • Addition +
      • Division /
      • Equality =
      • Equality-strong ==
      • Greater-than >
      • Greater-than-or-equal >=
      • If-unknown ?
      • Inversion -
      • Less-than <
      • Less-than-or-equal <=
      • Logical-and &, and
      • Logical-not !, not
      • Logical-or |, or
      • Modulo %
      • Multiplication *
      • Power ^
      • Subtraction -
      • Unequality <>
    • Data Types
      • Text
      • Number
      • Yes / No (Boolean)
      • Date Time
      • Duration
      • File
      • Rich Text
      • Concept
      • Conceptset
      • Reference
    • SQL Compatibility
      • Functions
      • Keywords
      • Operators
    • Content Security Policy
    • WEMScript for Custom HTML
    • WEM Widgets
      • WEM Widget Structure
      • WEMScript for Widgets
      • Widget Editor
      • Content Placeholder
    • WMT
      • File Structure
      • Basic Functional Template
      • Styling
      • Font Icons
      • Reference
        • Breadcrumb
        • Button Bar Buttons
        • Common Scripts
        • Common Styles
        • Conditional
        • Content
        • CSP
        • CSP Nonce
        • Expression
        • Hidden Fields
        • Language Select
        • Navigation
        • Node ID
        • Node Name
        • Placeholder
        • Placeholder Conditional
        • Startup Scripts
        • Template Fragment
        • Uses
    • Regression Test Framework
      • WEM Test Script
  • Tutorials
    • Tutorials
      • Making a Change Log
      • Placeholders for end-users
    • First Application
      • Expand First Application
    • Video Tutorials
      • By Partners
      • Security
    • Building Widgets
      • Basics
        • 1. Introduction
        • 2. Hello, World!
        • 3. General
        • 4. Properties
        • 5. Events
        • 6. Styling
        • 7. View State
        • 8. Resources
        • 9. Placeholders
        • 10. Template Editor Script
        • 11. Global Scope
        • 12. Risks and Responsibilities
        • 13. Conclusion
      • In-depth
        • 1. Introduction
        • 2. Platform Availability
        • 3. Development Workflow
        • 4. Properties
        • 5. View state
          • 1. Runtime.viewState
          • 2. sessionStorage
          • 3. Summary
        • 6. Styling
        • 7. Events
          • 1. Navigation
          • 2. Row position
      • WEMscript
        • 1. Introduction
        • 2. Variables
        • 3. Properties
        • 4. OutputId()
        • 5. Register Input - Required
        • 6. Encoding
        • 7. Script Block - Introduction
        • 8. Types
          • 1. Boolean
          • 2. Concept
          • 3. ConceptSet
          • 4. Datetime
          • 5. Duration
          • 6. File
          • 7. Number
          • 8. Richtext
          • 9. Text
        • 9. Script Block - Global Scope
        • 10. Script Block - ES Modules
        • 11. CSS - attachShadow
      • Examples
  • Tips and Tricks
    • Tips and Tricks
      • Keyboard Shortcuts
      • Video's in WEM
      • Extracting text from File
    • Custom Hostnames
    • FAQ
    • Expressions
      • Order of Operators
    • Processes
      • Email Process
      • Tips for creating PDF's
      • ZIP Archive Process Node
    • Concepts
      • Concepts and Runtime
    • Working with data
      • The Power of the Calculated Field
      • Consuming your OData source with Excel 2016
      • Expose your data via OData
      • Using OData to transfer data between runtimes
      • WEM Storage Options
    • Integration
      • Integrating external systems
      • Json
      • Single Sign-on
      • Office365 Integration
    • Performance
      • Performance Tips
      • Performance Profiler
      • Template Performance Profiler
      • The Split Loop
    • Security
      • 2FA with TOTP
      • Blacklist or whitelist IP addresses
    • Widgets
      • Advanced Charts
        • Boxplot Chart
        • Brush Chart
        • Bubble Chart
        • Candlestick Chart
        • Card with Chart
        • Effect Scatter Chart
        • Heat Map
        • Line, Area and Bar Chart
        • Map-Bar Morph
        • Mix Time Line Chart
        • Nested Pie Chart
        • Polar Area Chart
        • Polar Bar Chart
        • Profit Chart
        • Radial Bar Chart
        • Radial Bar Gauge
        • Range Bar Chart
        • Rosetype Pie Chart
        • Sankey Energy Chart
        • Scatter Chart
        • Scatter-Aggregate-Bar Chart
        • Stacked Columns Chart
        • Stepline Chart
        • Treemap
      • Advanced Input
        • Color Picker
        • Conceptset Image Selector
        • Google maps locator
        • Multi select input button
        • MultiFile Upload
        • On/Off switch
        • Process Arrow Steps
        • Rate
        • Rating view
        • Single select input button
        • Slider
        • Tree
      • Template Actions
        • Follow exit
      • Global widgets
        • Agenda
        • Audio Player
        • Calendar
        • Draw Signature
        • Grid Widget
        • Image capture
        • Kanban Board
        • Path
        • Progress Bar
        • reCAPTCHA
        • Timeline
      • Document widgets
        • Json Viewer
        • PDF Viewer
    • Various
    • Go to MyWEM
Powered by GitBook
On this page
  • Request Body Encoding
  • Edit Request Body Form Fields
  • Edit Query Fields
  • Edit Request Headers
  • Edit Response Headers
  • Exits
  • HTTP Status Code Exits

Was this helpful?

Export as PDF
  1. WEM Modeler
  2. Flowcharts

HTTP Request

PreviousInvoke WebserviceNextExecute Process

Last updated 3 months ago

Was this helpful?

When this node is reached, an HTTP request will be executed. The HTTP request node supports:

  • All common request methods (GET, POST, PUT, DELETE, PATCH, etc.);

  • Query parameters (expressions);

  • Basic authentication and Client certificate authentication;

  • Custom request headers (expressions);

  • Custom response headers (mapped to fields);

  • If applicable, a request body (text, file or richtext);

  • Response body (text, file or richtext).

The type of request, and the HTTP request details are all specified in the node’s properties. Some properties are only needed for certain request types, as is displayed in the example below.

The properties:

Item

Options

Description

Name

Name of the node. This name is generated by WEM and describes the HTTP request that will be performed. The property cannot be edited by hand.

URL

Expression

The URL that is used for the HTTP request (the server to which the request is sent)

Method

GET,POST, PUT, PATCH, DELETE, HEAD, TRACE, OPTIONS

The HTTP request method that is used in this node

Follow Redirect

Yes/No (checkbox)

Authentication

- None - Basic Authentication - Client Certificate

Specifies if authentication is needed for the request. And if so, what type of authentication. When the ‘Basic Authentication’ is specified, a simple username/password authentication is used. In this case the Username and Password properties are displayed. When the ‘Client Certificatie’ authentication is used, the user is asked to specify the client certificate. The certificate must be available in WEM.

Request body encoding

Raw, Form data url encoding, Multi part form data

specify how the data in the request body should be formatted

Request Body

Text Field

A custom request body can be defined

Response Body

Text Field

A custom response body can be defined

Response status code

Number

Give the response a specific status code.

Request Body Encoding

Overview

When the HTTP method is set to POST, a dropdown for selecting the request body encoding appears. This allows users to specify how the data in the request body should be formatted.

Encoding Options

  • Raw: Sends the data as-is without any encoding.

  • Form Data (URL Encoded): Encodes the data as key-value pairs, suitable for simple form submissions.

  • Multipart Form Data: Encodes the data as a multipart message, allowing for file uploads and more complex data structures.

Edit Request Body Form Fields

When the HTTP method is set to POST, users can edit the request body form fields through the "Edit Request Body Form Fields" button. This opens an overlay called "Multipart Content."

Using the Multipart Content Overlay

  1. Add Field: Click "Add" to create a new content item. Enter the Name and Expression.

  2. Delete Field: Select the content item you want to remove and click "Delete".

  3. Save Changes: Click "Save" to apply your changes.

  4. Cancel Changes: Click "Cancel" to discard any changes made.

Key Properties

  • Name: The name of the content item.

  • Expression: The value or expression for the content item.

Edit Query Fields

The "Edit Query Fields" section allows users to customize the parameters sent with their HTTP requests. This is particularly useful for adding dynamic data to your requests.

Key Properties

  1. Name: The name of the query parameter. This is the key that will be sent in the URL.

  2. Expression: The value or expression associated with the query parameter. This can be a static value or dynamically generated based on application context or user input.

Adding a Query Field

  1. Click on Edit query fields: This button opens the query field overlay.

  2. Click on +add: Found in the top left of the query field overlay.

  3. Enter Field Details: Fill in the Field Name and add query expression.

  4. Save Changes: Use the save button to save the changes and close the window.

Editing an Existing Query Field

  1. Select the Field: Click on the query field you want to edit.

  2. Modify Details: Update the Field Name or expression as needed.

  3. Save Changes: Ensure you save your changes to apply the updates.

Deleting a Query Field

  1. Select the Field: Click on the query field you want to delete.

  2. Click on "X Delete": This will remove the query parameter from the HTTP request node.

  3. Save Deletion: Save the deletion to ensure the field is removed.

Best Practices

  • Consistent Naming: Use clear and consistent names for your query parameters to avoid confusion.

  • Validation: Ensure that the values you enter are valid and correctly formatted.

Edit Request Headers

Overview

The "Edit Request Headers" property allows users to manage the headers sent with their HTTP requests. This is essential for specifying the format and handling of the request.

Key Properties

  • Name: The name of the header.

  • Expression: The value or expression for the header.

Default Headers

  • Accept: */*

  • Connection: close

  • Content-Type: (empty)

Using the Request Header Overlay

  1. Open Overlay: Click the "Edit Request Headers" button to open the request header overlay.

  2. Add Header: Click "Add" to create a new header. Enter the Name and Expression.

  3. Delete Header: Select the header you want to remove and click "Delete".

  4. Save Changes: Click "Save" to apply your changes.

  5. Cancel Changes: Click "Cancel" to discard any changes made.

Edit Response Headers

Overview

The "Response Headers" section allows users to manage the headers received in the HTTP response. This is useful for handling and processing the response data.

Key Properties

  • Name: The name of the response header.

  • Data Field: The datafield the response header is mapped to.

Using the Response Header Overlay

  1. Open Overlay: Click the "Response Headers" button to open the response header overlay.

  2. Add Header: New rows are added when the Name and Data Field are filled in.

  3. Delete Header: Select the header you want to remove and click the "Delete" button.

  4. Close Overlay: Click the "Close" button to exit the overlay.

Exits

The Web request node can have several exits. There are two pre-defined exits:

  • Default exit

  • Error

    This is the standard error exit for every WEM Node to catch technical code issues within the node itself to prevent showing technical error-details to end users. In this case it should not be used to handle Fault Messages from the Response (which are correct results within the HTTP Request Process - not errors - and have specific HTTP Response Codes which can be handled specifically)

Besides these pre-defined exits, it is possible to define an exit for every possible status code the HTTP Request returns. This includes any "error messages" or "fault messages" that the remote endpoint can provide.

List of HTTP Status Codes:

HTTP Status Code Exits

You should check with the provider of the remote endpoint to understand which Response Codes you may expect and could handle specifically.

When you define the Exit by HTTP Code, you currently have to define the specific code (there is no option for "wildcards" like 4xx and 5xx - but this may be provided in future). Then, following the specific HTTP Code Exit, you can handle it accordingly, and the Response Body can contain details of the specific situation so you may want to use that Response Body information as well when displaying feedback to user.

HTTP Status Code Exit or Error Exit?

Basically, you will not use the Error Exit to handle errors that occur on the Remote side - the Error Exit should only be used for situations where the Response is not received (there is no HTTP Status Code) - typically this is for when the Request itself is malformed and causes issues in the WEM Runtime. You should leave the Error Exit unlinked to show the technical information from the WEM Runtime that may indicate a bug or another issue that needs to be fixed. To make things confusing: that error may be displayed as a Server 500 (HTTP Status code 500) error, but this may be the status code from the WEM Runtime, and not from the remote endpoint...

HTTP Status Codes in the 4xx range are considered "client errors" and the 5xx range are considered "server errors" - in any case - if this status code is received in the Response object and there is a corresponding exit, this exit is followed and the Response Body will contain the detailed results from the remote endpoint. As this is mapped to a field in your model, you can just display that information or work some logic on its contents.

HTTP Status Codes 4xx and 5xx as received from the remote endpoint are valid Response Status Codes and are NOT considered Errors that will follow the Error Exit.

The HTTP Request Node allows you to add exits for specific HTTP Status Codes (or response codes) that the resulting Response can provide. A link to a list of possible HTTP status codes and types/grouping is provided above and here: ().

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
wiki