DSmart SOAP Node

Make SOAP web service requests with authentication for DSmart services

Overview

The node enables making authenticated SOAP web service requests specifically tailored for DSmart services. It allows users to send custom SOAP envelopes to a specified SOAP service URL, supporting various operations related to banking agreements, direct debits, payments, invoices, and cancellations.

This node is beneficial in scenarios where integration with DSmart's SOAP-based APIs is required, such as retrieving bank agreement details, confirming agreement dates, managing direct debit information, or processing payment cancellations. For example, a financial application could use this node to fetch the latest bank agreement data or confirm payment statuses automatically.

Properties

Name Meaning
SOAP Service URL The endpoint URL of the SOAP web service to which the request will be sent.
Authentication Source Method to provide authentication credentials: either "Use Credentials" (from stored API credentials) or "Manual Input" (enter username and password manually).
Authentication When using manual input, this collection holds the Username and Password for authenticating the SOAP request.
SOAP Envelope The full SOAP envelope XML string to send in the request body. Supports variable placeholders like {{username}}, {{password}}, N8N expressions (e.g., {{ $json.field }}), and direct credential access. This XML defines the operation and parameters sent to the SOAP service.

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

  • username and password: Authentication credentials.
  • bankCode: Bank identifier (defaulted to "24").
  • agreementDate: Optional date of the agreement.
  • paymentUnit, paymentTotal: Payment-related numeric values.
  • cancelUnit, cancelTotal: Cancellation-related numeric values.
  • domainName: Domain name string (defaulted to "emlakbank.com.tr").

These variables can be replaced dynamically based on input data or credentials.

Output

The node outputs JSON data structured as follows:

  • response: Parsed JSON object extracted from the SOAP response's main result element corresponding to the invoked operation.
  • 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.

Each output item corresponds to an input item, preserving pairing.

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 following npm packages internally:
    • axios for HTTP POST requests.
    • xml2js for parsing XML SOAP responses into JSON.

No additional environment variables are required beyond standard n8n credential management.

Troubleshooting

  • Common issues:

    • Incorrect SOAP Service URL or network connectivity problems may cause request failures.
    • Invalid or missing authentication credentials will lead to authentication errors.
    • Malformed SOAP envelope XML or incorrect variable substitutions can cause SOAP faults.
    • Timeout errors if the SOAP service does not respond within 30 seconds.
  • Error messages:

    • Errors include HTTP status codes and messages from the SOAP service.
    • If the node is set to continue on failure, error details are included in the output JSON under error, along with any available HTTP status and raw response.
    • To resolve errors, verify the SOAP URL, credentials, and ensure the SOAP envelope XML matches the expected format for the chosen operation.

Links and References

Discussion