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 direct debit information, bank agreements, invoices, payments, and cancellations.

A common use case is automating financial workflows where you need to query or update payment-related data via SOAP APIs. For example, you might use this node to fetch direct debit info for a subscriber, confirm bank agreement dates, or set payment details programmatically within an n8n workflow.

Properties

Name Meaning
SOAP Service URL The URL of the SOAP web service endpoint to which requests are sent.
Authentication Source How authentication credentials are provided: either using stored API credentials ("Use Credentials") or manual input of username and password ("Manual Input").
Authentication When "Manual Input" is selected, this collection allows entering the Username and Password manually or by dragging credential fields.
SOAP Envelope The full SOAP envelope XML string that will be sent in the request body. Supports variable placeholders like {{username}}, {{password}}, N8N expressions (e.g., {{ $json.field }}), and direct credential access. This envelope must match the selected operation and include all necessary parameters.

For the GetDirectDebitInfo operation specifically, the default SOAP envelope includes placeholders for:

  • username and password (authentication)
  • bankCode (required bank identifier)
  • subscriberNo (optional subscriber number)

Output

The node outputs JSON data containing:

  • response: The parsed SOAP response body relevant to the invoked operation, extracted from the SOAP envelope's body.
  • rawResponse: The raw XML response string returned by the SOAP service.
  • statusCode: HTTP status code of the SOAP request.
  • statusText: HTTP status text of the SOAP request.

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.
  • Optionally requires configured 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.

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: Requests have a 30-second timeout; slow network or service issues may cause timeouts.
  • Malformed SOAP envelope: Ensure the SOAP envelope XML matches the expected structure for the chosen operation and that all required variables are correctly replaced.
  • Parsing errors: If the SOAP response cannot be parsed, check if the service returned valid XML.
  • HTTP errors: Non-200 HTTP responses will be included in the output; inspect statusCode and statusText for clues.

If the node is set to continue on fail, errors will be returned as part of the output JSON instead of stopping execution.

Links and References

Discussion