The SOAP Echo Service receives a message and returns the same message in the response. It is useful to verify if requests are handled correctly and to test SOAP-based communication.
POST /webservices/soap/ws-echo.php
Below is the SOAP request body that you can use:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:echowsdl">
<soapenv:Header/>
<soapenv:Body>
<urn:echoMessage>
<message>Hello, world!</message>
</urn:echoMessage>
</soapenv:Body>
</soapenv:Envelope>
To send the SOAP request using Burp Repeater:
POST /webservices/soap/ws-echo.php HTTP/1.1
Host: mutillidae.localhost
Content-Type: text/xml;charset=UTF-8
SOAPAction: "urn:echowsdl#echoMessage"
Content-Length: [length]
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:echowsdl">
<soapenv:Header/>
<soapenv:Body>
<urn:echoMessage>
<message>Hello, world!</message>
</urn:echoMessage>
</soapenv:Body>
</soapenv:Envelope>
curlHere’s the same request using curl:
curl -X POST "http://mutillidae.localhost/webservices/soap/ws-echo.php" \
-H "Content-Type: text/xml; charset=UTF-8" \
-H "SOAPAction: \"urn:echowsdl#echoMessage\"" \
--data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:echowsdl">
<soapenv:Header/>
<soapenv:Body>
<urn:echoMessage>
<message>Hello, world!</message>
</urn:echoMessage>
</soapenv:Body>
</soapenv:Envelope>'
The server will return the following SOAP response:
<?xml version="1.0"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<urn:echoMessageResponse>
<message>Hello, world!</message>
</urn:echoMessageResponse>
</soapenv:Body>
</soapenv:Envelope>
If an error occurs, the server will return a fault message like this:
<?xml version="1.0"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>Server</faultcode>
<faultstring>SOAP Service Error: [Error Message]</faultstring>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
mutillidae.localhost server is correctly configured and accessible.SOAPAction header.Content-Type header is set to text/xml; charset=UTF-8.You can experiment by modifying the message parameter and observing the response. For example, send the message Hello from SOAP! and check if it’s echoed back correctly.