Locoia
  • Overview
  • Account and User Settings
    • User types
    • Adding Users
    • Teams
    • Access Permissions
    • 2 Factor Authentication 2FA
    • Versioning and Snapshots
    • Activity Log
  • Reset your Password
  • Invoices and Payments
  • Automation
    • Flow Builder
      • Flow Building Best Practices
      • Jinja Template Language
        • Jinja: (Custom) variables, wildcards and functions
        • Magic Code Samples
      • Connectors & APIs
        • Titles and References
        • Referencing data of objects, lists, arrays - how to pass data dynamically
        • Accessing Objects with JSONPath
        • Merging nested JSON objects
        • Parsing JSONs from String
        • Response Headers & Status Codes
        • Custom Data Fields
        • Wildcard API calls and actions
        • Response cleaning
      • Text Strings, Date & Time, Numbers and Currencies
        • Text and Strings
        • Dates & Time
        • Numbers (Thousand Separators, Currencies)
      • Email-formatting
      • Code Fields
      • Running single Flow steps
      • Flow run data retention, logging, and error notifications
      • Advanced View
      • Dynamic Title
      • Custom Error Handling
      • Error Handling Flows
      • Automatic Pagination
    • Flow Debugger
      • Automatic Retrying
      • Run Flows again
      • Troubleshooting Flows
    • Community Library
  • Connectors & Helpers
    • Connectors
      • Monday.com
      • ActiveCampaign
      • Aircall
      • Allthings
      • Amplitude
      • Animus
      • Assetti
      • Awork
      • AWS RDS Database - How to connect
      • bubble.io
      • Casavi
      • Chargebee
      • CleverReach
      • comgy
      • commercetools
      • Everreal
      • Exact Online
      • Facebook Marketing
      • Fahrländer Partner
      • FastBill
      • FILESTAGE.io
      • Freshdesk
      • Freshsales
      • Google Ads
      • Google Ads Lead Form
      • Google Analytics
      • Google Chat
      • Google Drive
      • Google Sheets
      • Gmail
      • HubSpot
      • Heyflow
      • iDWELL
      • ImmobilienScout24
      • Instagram Ads
      • Intercom
      • klaviyo
      • Kiwi Opening Doors
      • Klenty
      • Klipfolio
      • Kolibri CRM
      • konfipay
      • KUGU
      • Shopify
      • S3 AWS
      • SQS AWS
      • Lambda AWS
      • Learnster
      • lexoffice
      • LineMetrics
      • Linkedin
      • Locoia
      • Notion
      • MailGun
      • Makula
      • Microsoft Dynamics 365
      • Microsoft OneDrive
      • MixPanel
      • MongoDB
      • Odoo
      • OnFleet
      • OnOffice
      • Oracle NetSuite
      • Outbrain
      • Quickbooks
      • Trello
      • PandaDoc
      • Personio
      • Pinterest Ads
      • Pipedrive
      • Plentific
      • PriceHubble
      • relay
      • REALCUBE
      • Sage ERP
      • Salesforce
      • SAP
      • Scoro
      • Seafile
      • sevDesk
      • SharePoint
      • SharpSpring
      • Slack
      • Snapchat Marketing
      • Snowflake
      • Teamleader Focus
      • Teamwork.com
      • Tableau
      • TikTok
      • TinQwise
      • The Trade Desk
      • Twitter
      • Typeform
      • WordPress
      • Xero
      • Youtube
      • Zendesk
      • Zoho CRM
      • Zoom
    • Helpers
      • Scheduler
      • Webhook
      • Dict Helper
      • Spreadsheet Helper
      • REST Helper
      • Boolean Helper
      • Multi Case Helper
      • Looper
      • FTP Helper
      • CSV Helper
      • XLSX Helper
      • Mail Sender
      • Flow Trigger
      • File Storage Helper
      • Terminate Helper
      • Delay Helper
      • SQL Connector
      • PDF Helper
      • Zip Helper
      • Data Warehouse Helper
      • XML Helper
      • Form Helper
      • Arrow
      • Error Arrow
    • Authentication Types Available
      • Setting up authentication
      • OAuth1
      • OAuth2
      • Refreshable token
      • AWS Signature
      • Basic Auth and Other Simple Authentication Methods
      • How are API versioning and API updates handeled?
      • Custom OAuth2 clients (apps)
    • Building Connectors
      • Base Connector Setup
        • Connector Auth Validation
        • GraphQL APIs
        • Rendering with User Input
      • Building Connector Actions
        • Actions Examples
      • Search Automation
      • Pagination Automation
      • Uploading Files in Actions
      • Working with SOAP APIs
    • Super Actions
    • Webhook Trigger for Connectors
    • Data Mapping and Env Variables
  • Embed - White Label Portal
    • Embed Overview
      • 1. Embed Flow
        • 1.1 Creating Embed Flows
        • 1.2 Updating Embed Flows
        • 1.3 Embed Error Handling
        • 1.4 Setting up Callbacks for Integration activation/deactivation
        • 1.5 Setting up Remote search
        • 1.6 Setting up End User logs
      • 2. Configure Embed
        • 2.1 Embed Integration via SSO
        • 2.2 Proprietary connector setup
        • 2.3 Sharing level
        • 2.4 Consent screen
        • 2.5 Account Secrets
        • 2.7 Further settings
      • 3. Integrate Embed
        • 3.1 iframe vs native embed
        • 3.2 Customizing CSS
        • 3.3 Events emitted from iframe to parent window
      • 4. Embed for End User
        • 4.1 Embed Remote Search
        • 4.2 Embed End User Logs
      • 5. Test Embed Configuration
        • Testing example
      • 6. Embed Integrations and Connector Auths
    • Embed FAQs
  • Data and Dashboards
    • Dashboards & Insights
      • Introduction to Dashboards
      • Introduction to Insights
      • Introduction to Data Sources
      • Dashboard Filters
      • Insight Marketplace - Using Pre-Built Insights
      • Writing SQL Queries
      • Useful SQL Examples
      • Charts
        • Line Chart
        • Bar and Horizontal Bar Chart
        • Stat Card
        • Pie Chart
        • Gauge Chart
        • Donut Chart
        • Stacked Bar, Horizontal Stacked Bar, and Normalized Horizontal Stacked Bar
        • Multiple Line Chart
        • Pivot Table
        • Map Chart
  • Best Practice Guides
    • Integration Best Practices
    • Integration Check List
    • CSV Files in Excel
    • Multi-Tenant Flows
    • On-Premise Integrations
    • Database Connection Setup
    • Data and General Security
    • Using Tags
    • FAQ
  • API
    • Locoia API Authentication - Personal Access Token
    • Create Connector Authentication
  • Contact us
  • Status of Service
  • Data Privacy
  • Imprint
Powered by GitBook
On this page
  • Introduction
  • Creating the SOAP Request Body
  • Endpoint Details
  • Reading Details from the WSDL
  • Reading Documentation from the XSD
  • Testing Requests
  • Testing with SoapUI
  • Testing with Postman
  • Testing directly inside Locoia
  • Parsing SOAP Responses
  • Special Notes

Was this helpful?

  1. Connectors & Helpers
  2. Building Connectors

Working with SOAP APIs

This section explains how to configure Connector Actions that interact with SOAP Web Services.

Introduction

Some systems still use SOAP APIs (Simple Object Access Protocol) instead of REST APIs. SOAP is a messaging protocol that uses XML in order to exchange information between computers.

At Locoia, you can integrate SOAP APIs by configuring Connector Actions with SOAP-specific settings.


Creating the SOAP Request Body

Define a valid SOAP XML payload manually in the Request Body Template using Jinja for dynamic fields.

Example Request Body Template
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.example.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:getDetails>
         <id>{{ id }}</id>
      </web:getDetails>
   </soapenv:Body>
</soapenv:Envelope>

✅ Ensure correct use of namespaces (xmlns) as per the API specification.


Endpoint Details

Reading Details from the WSDL

The WSDL (Web Services Description Language) file defines:

  • Available operations (methods)

  • Expected input and output formats

  • Required namespaces and endpoints

Use the WSDL to:

  • Identify operation names

  • Understand the expected structure of requests

  • Verify service URLs

📚 In SoapUI, importing the WSDL auto-generates method templates.


Reading Documentation from the XSD

The XSD (XML Schema Definition) describes:

  • Data types (string, int, boolean)

  • Field validations (e.g., minLength, maxLength)

  • Mandatory and optional fields

XSDs are often referenced inside WSDLs and explain how the body structure should be composed.


Testing Requests

Testing with SoapUI

  1. Create a new SOAP project

    1. Make sure that Create Requests is turned on. This way the tool will create sample requests for you with the correct structure, where you simply have to fill in the parameters.

  2. Import the WSDL

    Load the WSDL file provided by the API. SoapUI will parse the available methods and message formats.

  3. SoapUI generates available operations

    All available operations (endpoints) will appear automatically after importing the WSDL

  4. Customize and send requests

    • Edit the generated XML request templates.

    • Insert the correct field values.

    • Set the SOAPAction manually if needed.

  5. Review the full XML responses and faults

    • Inspect the returned XML.

    • Handle successful responses or SOAP faults properly.

Why use SoapUI?

✅ WSDL parsing

✅ Visual method explorer

✅ Automated request templates


Testing with Postman

  • Set method to POST

  • Set Headers:

    • Content-Type: text/xml

    • SOAPAction (if needed)

  • Paste the XML manually into the raw body

  • Send a request and view the response

The SOAPAction value always needs to have quotation marks ("") around it.

Postman does not support WSDL parsing.


Testing directly inside Locoia

In case the SOAP web service requires the text/xml Content-Type, add it as a header to the Connector itself:

{
  "content_type": "text/xml"
}

In the actions, you always need to select post as the method and add the SOAPAction method name in the header.

The XML can be written directly into the request body template.


Parsing SOAP Responses

SOAP responses are XML. Extract values using:

  • Jinja templating (e.g., regex_replace)

  • Additional Flow steps for XML parsing if needed

Example Jinja Extraction:

{{ body | regex_replace('<id>(.*?)</id>', '\\1') }}

Special Notes

  • Strict namespace usage is mandatory.

  • Handle SOAP faults properly (<Fault> elements).

  • Authentication varies depending on API (Basic Auth, API Key, OAuth).

PreviousUploading Files in ActionsNextSuper Actions

Last updated 10 days ago

Was this helpful?

To read out all the endpoint details of a SOAP API, you can use a tool such as (download SoapUI Open Source).

To test the request in Postman, you can follow this article from Postman itself:

SoapUI
Send SOAP requests
New SOAP Project dialog
Setting SOAPAction manually inside SoapUI request settings.
Request with Headers in Postman
Create Connector Action dialog