SOAP Services Home Page

SOAP Echo Service Documentation

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.

Endpoint

POST /webservices/soap/ws-echo.php

SOAP Request Structure

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>

Using Burp Repeater

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>

Using curl

Here’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>'

Expected Response

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>

Handling Errors

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>
Troubleshooting Tips:

Learn More

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.