DSmart SOAP Node

Make SOAP web service requests with authentication for DSmart services

Overview

This node enables making authenticated SOAP web service requests specifically for DSmart services. It is designed to interact with various SOAP operations exposed by the DSmart payment system, such as retrieving payment cancellations, invoices, bank agreements, direct debit info, and more.

The node is useful in scenarios where you need to integrate DSmart's SOAP-based APIs into your workflows, for example:

  • Automatically fetching payment cancellation details for reconciliation.
  • Retrieving invoice information for billing automation.
  • Managing direct debit agreements or cancellations.
  • Querying bank agreement lists or payment details.

By allowing custom SOAP envelopes with dynamic variable substitution, it offers flexibility to tailor requests to different operations and parameters.

Properties

Name Meaning
SOAP Service URL The URL of the SOAP web service endpoint to which requests are sent. Default points to DSmart's online payment system WSDL.
Authentication Source How authentication credentials are provided: either "Use Credentials" (from stored API credentials) or "Manual Input" (enter username and password manually).
Authentication When using manual input, this collection holds the username and password for authenticating the SOAP request.
SOAP Envelope The full SOAP envelope XML string to send in the request body. Supports placeholders like {{username}}, {{password}}, and other variables that get replaced dynamically per execution. This defines the operation and parameters.

For the GetPaymentCancel operation specifically, the default SOAP envelope includes these variables:

  • username and password: for authentication.
  • bankCode: bank identifier (default "24").
  • subscriberNo: optional subscriber number.
  • invoiceNo: optional invoice number.

These variables can be set dynamically via expressions or input data.

Output

The node outputs JSON data containing:

  • response: The parsed SOAP response object extracted from the SOAP Body, specifically the <GetPaymentCancelResult> or equivalent element.
  • rawResponse: The raw XML response string returned by the SOAP service.
  • statusCode: HTTP status code of the SOAP request.
  • statusText: HTTP status text message.

Each output item corresponds to one input item processed.

The node does not output binary data.

Dependencies

  • Requires an active internet connection to reach the specified SOAP service URL.
  • Needs either stored API credentials or manual username/password for authentication.
  • Uses the axios library for HTTP POST requests.
  • Uses the xml2js library to parse XML SOAP responses into JSON objects.

No special environment variables are required beyond providing valid credentials.

Troubleshooting

  • Authentication errors: If credentials are incorrect or missing, the SOAP service may reject the request. Ensure correct username and password are provided either via credentials or manual input.
  • Timeouts: The node sets a 30-second timeout on requests. Long-running SOAP calls might fail if they exceed this limit.
  • Invalid SOAP envelope: Malformed XML or missing required fields in the SOAP envelope will cause the SOAP service to return errors. Validate the XML structure and ensure all necessary variables are correctly substituted.
  • Parsing errors: If the SOAP response format changes or is unexpected, the XML parser might fail or produce incomplete JSON. Check the raw response for troubleshooting.
  • Network issues: Connectivity problems to the SOAP service URL will cause request failures.

If the node is configured to continue on failure, error details including HTTP status and raw response are included in the output for diagnosis.

Links and References

Discussion