WebHook Trigger for SOAP WebServices


I wanted to use the Webhook Trigger for incoming WebService calls, which are by default in XML (SOAP) as POST Request. They are defined by WSDL,
How do I need to tune the Webhook parameters to have the body as XML for the next node in the flow. Because when I use {{$json.body}} expression it gives me:
[Object: {“soap:envelope”: {“$”: {“xmlns:xsi”: “http://www.w3.org/2001/XMLSchema-instance”, “xmlns:xsd”: …

but I need

<?xml version="1.0" encoding="utf-8"?>


Or is there another type of Trigger, which accepts this.

This is on the n8n.cloud (Evaluation) environment.


It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Welcome to the community!

Maybe this option:

How then to drag drop the raw data from webhook to use in the next http request as raw body?

In comparison to an “AMQP Trigger” instead of a Webhook, the raw XML message can be accessed as {{$json.body}} in the next HTTP request.

The incomming data seems to be a bit weirder than normal.
You can read the binary data with an n8n node, it will convert it so you can use the data easily.
Depends on the version you have, if you search for Binary in the nodes you will find it. Probably is going to be “extract from file”

Incoming XML is not weird, It is the common way of integration. And WebServices (as XML) was long time available before JSON.
But also this approach with raw Body is not working:

All TAGS even with a following node TransformJSON2XML are lowercase.

Was not talking about the xml. Just that it is given as binary instead of in a body.

In the HTTP node instead of raw content type, use binary

1 Like

Thank you all, that’s working:

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.