A beautiful, fast, and user-friendly SOAP client web application for sending SOAP envelopes and receiving/parsing responses.
- Beautiful UI - Modern, responsive design with dark/light theme support
- Fast & Lightweight - Minimal dependencies, instant responses
- XML Formatting - Auto-format and syntax highlight XML
- Multiple Views - Pretty, Raw, and Tree view for responses
- Request History - Automatically saves your requests locally
- Custom Headers - Add any custom HTTP headers to your requests
- Copy & Download - Easily copy or download responses
- Keyboard Shortcuts - Press
Ctrl/Cmd + Enterto send requests - File Logging - All SOAP transactions logged to
logs/soap-transactions.log
- Node.js 16.0.0 or higher
- npm or yarn
- Clone or navigate to the project directory:
cd /Users/slouissaint/tools/SOAPify- Install dependencies:
npm install- Start the server:
npm start- Open your browser and navigate to:
http://localhost:3000
- Enter the Endpoint URL - The SOAP service endpoint
- Add SOAPAction Header (optional) - If required by the service
- Enter your SOAP Envelope - The XML envelope to send
- Click Send or press
Ctrl/Cmd + Enter
- Pretty - Formatted and syntax-highlighted XML
- Raw - Unformatted raw XML response
- Tree - Interactive hierarchical tree view
Click "Custom Headers" to expand and add any additional HTTP headers your SOAP service requires.
All requests are automatically saved and can be accessed from the History tab. Click any history item to reload it.
Toggle between dark and light themes using the theme button in the header.
| Shortcut | Action |
|---|---|
Ctrl/Cmd + Enter |
Send Request |
All SOAP transactions are automatically logged to logs/soap-transactions.log.
Each log entry includes:
- Transaction ID - Unique identifier for tracking
- Timestamp - When the request was made
- Duration - How long the request took
- Request Details - URL, SOAPAction, headers, and full SOAP envelope
- Response Details - Status, headers, and full response body
SOAPify/logs/soap-transactions.log
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
SOAP TRANSACTION LOG
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Transaction ID: TXN-M5X8K2-ABC123
π Timestamp: 2025-01-06T15:30:45.123Z
β±οΈ Duration: 234ms
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
REQUEST
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Endpoint URL:
https://example.com/soap/service
π SOAPAction:
urn:example:GetData
π€ Request Headers:
Content-Type: text/xml; charset=utf-8
SOAPAction: urn:example:GetData
π Request Body (SOAP Envelope):
<?xml version="1.0"?>
<soap:Envelope>...</soap:Envelope>
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
RESPONSE
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
Status: 200 OK
π₯ Response Headers:
content-type: text/xml
π Response Body:
<?xml version="1.0"?>
<soap:Envelope>...</soap:Envelope>
The server exposes these API endpoints:
Send a SOAP request
Body:
{
"url": "https://example.com/soap",
"soapAction": "urn:example:Action",
"envelope": "<?xml version='1.0'?>...",
"headers": { "Custom-Header": "value" }
}Retrieve all logged transactions
Clear the log file
Parse XML string to JSON
Format/prettify XML string
SOAPify/
βββ public/
β βββ index.html # Main HTML file
β βββ styles.css # Styles
β βββ app.js # Frontend JavaScript
βββ logs/
β βββ soap-transactions.log # Transaction logs (auto-created)
βββ server.js # Express server
βββ package.json # Dependencies
βββ README.md # Documentation
The server runs on port 3000 by default. To change it:
PORT=8080 npm startMIT License - feel free to use and modify!
Made with β€οΈ for developers who need to work with SOAP services
