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 supports multiple predefined operations related to banking agreements, direct debits, payments, invoices, and cancellations by sending custom SOAP envelopes to a specified SOAP service URL.

Common scenarios include:

  • Retrieving bank agreement lists or details.
  • Managing direct debit agreements and cancellations.
  • Querying invoice and payment information.
  • Setting or canceling payments and direct debits.
  • Obtaining return links or confirmation dates.

Practical example: A financial application can use this node to automate fetching invoice data or confirming payment statuses from the DSmart online payment system via SOAP API calls.

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 credentials or manual input.
Authentication When manual input is selected, username and password for SOAP API authentication.

The node also includes an Operation property (not listed in your JSON but present in code) with options such as:

  • BankAgreementList
  • CancelAllListDetail
  • ConfirmGetBankAgreementDate
  • GetBankAgreement
  • GetCanceledDirectDebitList
  • GetDirectDebitAgreement
  • GetDirectDebitInfo
  • GetDirectDebitList
  • GetDirectDebitToInvoiceByDueDate
  • GetInvoice
  • GetPaymentCancel
  • PaymentAllListDetail
  • ReturnLink
  • SetDirectDebit
  • SetDirectDebitCancel
  • SetPayment
  • SetPaymentCancel

Each operation corresponds to a specific SOAP action and has a default SOAP envelope template that can be customized.

Output

The node outputs an array of items where each item contains:

  • json.response: The parsed SOAP response body relevant to the invoked operation.
  • json.rawResponse: The raw XML response string received from the SOAP service.
  • json.statusCode: HTTP status code of the SOAP request.
  • json.statusText: HTTP status text of the SOAP request.

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

  • json.error: Error message.
  • json.statusCode, json.statusText, json.rawResponse: Details from the failed HTTP response if available.

No binary data output is produced by this node.

Dependencies

  • Requires access to the DSmart SOAP web service URL.
  • Needs valid authentication credentials either via stored credentials or manual entry (username and password).
  • Uses the axios library for HTTP requests.
  • Uses the xml2js library to parse XML SOAP responses.

No special environment variables are required beyond providing correct credentials and service URL.

Troubleshooting

  • Authentication errors: Ensure correct username and password are provided either via credentials or manual input.
  • Timeouts: The node uses a 30-second timeout; slow network or service issues may cause timeouts.
  • Invalid SOAP envelope: The SOAP envelope must be well-formed XML and correctly reference variables like {{username}}. Errors in XML structure or missing required fields can cause failures.
  • Unexpected response format: If the SOAP response does not match expected structure, parsing may fail or return incomplete data.
  • HTTP errors: Check the HTTP status code and status text in the output for clues. Common issues include 401 Unauthorized (bad credentials), 404 Not Found (wrong URL), or 500 Internal Server Error (server-side problem).

To resolve errors, verify all inputs, especially the SOAP envelope content and authentication details.

Links and References

Discussion