Welcome to the SOAP Web Services documentation. Below, you will find links to detailed documentation pages for each available SOAP service. Click on a service to explore its methods, example requests, and troubleshooting tips.
curl.
This system has multiple security levels that affect access to the web services:
ws-login. You must obtain a JWT token by logging in through the ws-login endpoint using your client_id and client_secret.Authorization header for each request. Without a valid token, you will receive a 401 Unauthorized error.
client_id and client_secret to authenticate. If successful, the response will include a JWT token.
Example (curl):
curl -X POST http://mutillidae.localhost/webservices/soap/ws-login.php \
-H "Content-Type: text/xml" \
--data "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' \
xmlns:urn='urn:ws-login'>
<soapenv:Header/>
<soapenv:Body>
<urn:login>
<client_id>your-client-id</client_id>
<client_secret>your-client-secret</client_secret>
<audience>target-audience-url</audience>
</urn:login>
</soapenv:Body>
</soapenv:Envelope>"
The response will include a token in the format:
{
"access_token": "your-jwt-token-here",
"token_type": "bearer",
"expires_in": 3600,
"timestamp": "2024-11-17T19:30:00Z"
}
Bearer <your-token>.
Below is an example of an authenticated request using curl:
curl -X POST http://mutillidae.localhost/webservices/soap/ws-user-account.php \
-H "Content-Type: text/xml" \
-H "Authorization: Bearer <your-token>" \
--data "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' \
xmlns:urn='urn:ws-user-account'>
<soapenv:Header/>
<soapenv:Body>
<urn:getUser>
<username>john</username>
</urn:getUser>
</soapenv:Body>
</soapenv:Envelope>"
To send an authenticated request in Burp Suite:
POST /webservices/soap/ws-user-account.php HTTP/1.1
Host: mutillidae.localhost
Content-Type: text/xml
Authorization: Bearer your-jwt-token-here
Authorization: Bearer your-jwt-token-here
Each service page provides:
curl.Authorization header. If you haven't obtained a token yet, refer to the "Log In to Obtain a JWT Token" section.If you encounter other issues, please consult the documentation or contact support for assistance.