DSmart SOAP Node

Make SOAP web service requests with authentication for DSmart services

Overview

This node enables making authenticated SOAP web service requests specifically tailored for DSmart services. It is designed to interact with various SOAP operations related to banking and payment systems, such as retrieving direct debit agreements, invoices, payment cancellations, and more.

A common use case is automating interactions with a bank's SOAP API to fetch or update financial data like direct debit agreements or payment statuses. For example, you can use this node to programmatically retrieve a list of direct debit agreements for a specific bank code or confirm payment cancellations without manual intervention.

Properties

Name Meaning
SOAP Service URL The URL endpoint of the SOAP web service to which requests will be sent.
Authentication Source How authentication credentials are provided: either by using stored credentials or by manually entering username and password.
Authentication When manual input is selected, this collection allows specifying the username and password for SOAP API authentication.
SOAP Envelope The full SOAP envelope XML template for the selected operation. Supports variable placeholders (e.g., {{username}}, {{bankCode}}), n8n expressions (e.g., {{ $json.field }}), and direct credential access. This XML defines the request body and headers.

For the GetDirectDebitAgreement operation, the default SOAP envelope includes these variables:

  • username: Authentication username.
  • password: Authentication password.
  • bankCode: Bank identifier code.
  • agreementDate: Date of the agreement (optional).
  • directDebitUnit: Numeric value related to direct debit units.
  • directDebitCancelUnit: Numeric value related to canceled direct debit units.
  • domainName: Domain name string.

These variables can be replaced dynamically at runtime.

Output

The node outputs JSON data containing:

  • response: The parsed SOAP response object extracted from the SOAP envelope's body, specifically the <GetDirectDebitAgreementResult> or equivalent element.
  • rawResponse: The raw XML response string received from the SOAP service.
  • statusCode: HTTP status code of the SOAP response.
  • statusText: HTTP status text of the SOAP response.

The output JSON structure provides both the structured data for further workflow processing and the raw response for debugging or logging purposes.

No binary data output is produced by this node.

Dependencies

  • Requires an active internet connection to reach the specified SOAP service URL.
  • Needs either stored API credentials or manual username/password input 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 standard n8n credential management.

Troubleshooting

  • Authentication errors: If the SOAP service returns authentication failures, verify that the correct username and password are provided either via credentials or manual input.
  • Timeouts: The node sets a 30-second timeout for SOAP requests. Long-running requests may fail; consider increasing timeout if supported.
  • Malformed SOAP envelope: Ensure the SOAP envelope XML is well-formed and all required variables are correctly set. Invalid XML or missing placeholders can cause request failures.
  • Unexpected response structure: If the SOAP response does not contain expected elements, check the SOAP action and envelope correctness.
  • Network issues: Verify network connectivity and that the SOAP service URL is reachable from the n8n instance.

Common error messages include HTTP errors with status codes and SOAP fault messages embedded in the response. These are surfaced in the output under error when "Continue On Fail" is enabled.

Links and References

Discussion