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

A common use case is automating financial workflows where you need to query or update payment-related data from the DSmart SOAP API. For example, you could use this node to fetch detailed payment lists for a specific bank code and date range, confirm bank agreement dates, or set payment information programmatically within an n8n workflow.

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 using stored 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 for SOAP API authentication.
SOAP Envelope The full SOAP envelope XML string that defines the request body for the selected operation. Supports variable placeholders like {{username}}, {{password}}, and other parameters, as well as n8n expressions (e.g., {{ $json.field }}). This XML must conform to the expected structure of the SOAP operation being called.

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

  • username and password: for authentication.
  • bankCode: the bank identifier (defaulted to "24").
  • agreementDate: optional date parameter for filtering.
  • domainName: domain context, e.g., "emlakbank.com.tr".
  • Optional repeated username and password fields inside the body.

Output

The node outputs JSON data containing:

  • response: The parsed SOAP response object extracted from the SOAP envelope's body, specifically the <OperationName>Result element if present.
  • 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.

If an error occurs and the node is configured to continue on failure, the output JSON will contain:

  • error: Error message.
  • statusCode, statusText, and rawResponse related to the failed HTTP request.

No binary data output is produced by this node.

Dependencies

  • Requires access to the DSmart SOAP web service endpoint.
  • Needs valid authentication credentials (username and password) either via stored credentials or manual input.
  • Uses the axios library for HTTP POST requests.
  • Uses the xml2js library to parse XML SOAP responses into JSON objects.
  • Requires proper configuration of the SOAP envelope XML per operation, including correct namespaces and placeholders.

Troubleshooting

  • Authentication errors: If the SOAP service returns authentication failures, verify that the username and password are correctly provided either through credentials or manual input.
  • Timeouts: The node sets a 30-second timeout for requests; slow network or service issues may cause timeouts.
  • Malformed SOAP envelope: Ensure the SOAP envelope XML is well-formed and matches the expected structure for the chosen operation. Incorrect placeholders or missing required elements can cause errors.
  • Parsing errors: If the SOAP response format changes or is unexpected, parsing might fail or return incomplete data.
  • HTTP errors: Check the statusCode and statusText in the output for clues about HTTP-level issues (e.g., 404 Not Found, 500 Internal Server Error).
  • To debug, enable "Continue On Fail" to capture error details in the output rather than stopping execution.

Links and References

Discussion