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 provided by the DSmart payment system, such as retrieving bank agreement lists, direct debit information, invoices, payments, and cancellations.

Common scenarios where this node is beneficial include:

  • Automating retrieval of bank agreements or payment details from the DSmart system.
  • Integrating DSmart payment data into workflows for financial reconciliation or reporting.
  • Managing direct debit setups and cancellations programmatically.
  • Querying invoice or payment cancellation statuses without manual intervention.

For example, a user can configure this node to call the BankAgreementList operation to fetch all bank agreements within a specified date range, using either stored credentials or manual authentication input.

Properties

Name Meaning
SOAP Service URL The URL endpoint of the SOAP web service to which requests are sent. Default points to the DSmart online payment system WSDL.
Authentication Source Method to provide authentication credentials: either "Use Credentials" (from stored API credentials) or "Manual Input" (enter username and password directly).
Authentication When "Manual Input" is selected, this collection allows entering the Username and Password for SOAP authentication.
SOAP Envelope The full SOAP envelope XML string that defines the request body for the selected operation. Supports variable placeholders like {{username}}, N8N expressions (e.g., {{ $json.field }}), and direct credential access.

For the BankAgreementList operation, the default SOAP envelope includes variables such as:

  • username
  • password
  • bankCode
  • startDate
  • endDate
  • domainName

These variables are replaced dynamically during execution.

Output

The node outputs an array of items, each containing:

  • json.response: The parsed JSON object representing the SOAP response content specific to the called operation. This typically contains the main result data extracted from the SOAP response.
  • json.rawResponse: The raw XML string returned by the SOAP service.
  • json.statusCode: HTTP status code of the SOAP response.
  • json.statusText: HTTP status text of the SOAP response.

If an error occurs and "Continue On Fail" is enabled, the output item will contain:

  • json.error: Error message.
  • json.statusCode: HTTP status code if available.
  • json.statusText: HTTP status text if available.
  • json.rawResponse: Raw response data if available.

The node does not output binary data.

Dependencies

  • Requires an active internet connection to reach the specified SOAP service URL.
  • Uses an API key credential or manual username/password for authentication.
  • Depends on the following npm packages bundled in n8n:
    • axios for HTTP requests.
    • xml2js for parsing XML SOAP responses.
  • No additional environment variables are required beyond standard n8n credential setup.

Troubleshooting

  • Authentication errors: Ensure correct username and password are provided either via credentials or manual input. Incorrect credentials will cause SOAP faults or HTTP 401 errors.
  • Timeouts: The node uses a 30-second timeout for SOAP requests. If the service is slow or unresponsive, consider increasing timeout or checking network connectivity.
  • Malformed SOAP envelope: Customizing the SOAP envelope incorrectly (e.g., missing required tags or invalid XML) may cause the SOAP service to reject the request. Validate XML syntax and required fields.
  • Parsing errors: If the SOAP response structure changes or is unexpected, the XML parser might fail or return incomplete data. Verify the SOAP response format matches expectations.
  • HTTP errors: Non-200 HTTP responses indicate issues with the SOAP service endpoint or request. Check the statusCode and statusText in the output for diagnostics.

Links and References

Discussion