Wilma
Newtown, Pennsylvania, United States
What it is
Wilma is a self-hosted tool for developing and testing applications that rely on other services. It can act as an HTTP/HTTPS transparent proxy, a service stub, or both together. As a proxy, it captures, decodes, saves, and forwards traffic, including two-way SSL; as a stub, it can return configured responses. Stub rules are stored in JSON files and can be changed while Wilma is running. Real-time interceptors can examine or alter requests and responses, and users can add custom interceptors, condition checkers, and response formatters. Wilma Message Search finds request-response pairs in logged traffic. The software supports unit, integration, functional, end-to-end, performance, and manual testing. Under heavy load, it can pause message decoding and then disk logging, restoring them as load eases. Logging can be controlled through the UI, and configurable retention settings remove old logs. Wilma is free, GPLv3-or-later software. It is distributed as Docker images, release ZIP files, or builds from source; Wilma requires JRE 11, and Message Search requires JDK 11.
For and against
For
- Proxy, stub, or mixed operating modes
- Supports two-way SSL traffic
- JSON stub settings can change at runtime
- Custom interceptors and response formatters
- Free GPLv3-or-later software
Against
- Requires JRE 11 for Wilma
- Message Search requires JDK 11
- Self-hosted deployment
The verdict
Wilma brings service stubbing and HTTP/HTTPS traffic handling into one self-hosted tool. Its configurable stubs, extensions, and test-oriented modes make it suited to teams that can manage its runtime requirements.
Who it suits
Wilma suits developers and test teams who need to simulate or route service traffic during application testing. It is designed for self-hosted use and supports both proxy and stub workflows.
Plans and prices
Wilma
GPLv3.0 licensed software
Read 30 Sep 2026 · github.com
On the record
- Deployment
- The maker offers Docker images, prepared GitHub release ZIP files, or building a release from source.epam.github.io · read 30 Sep 2026
- Distribution
- The applications are available as Docker Hub images, GitHub release ZIP files, or builds created from source.epam.github.io · read 30 Sep 2026
- Extensibility
- Users can add custom condition checkers, response formatters, and message interceptors, including by uploading classes or JAR files.epam.github.io · read 30 Sep 2026
- Integrations
- Wilma provides a Java service library through Maven Central and a .NET service library through NuGet.epam.github.io · read 30 Sep 2026
- License
- The repository states Wilma is free software under the GNU General Public License version 3 or later, with no warranty.github.com · read 30 Sep 2026
- Load behavior
- When load rises, Wilma can disable message decoding and then disk logging, and it restores those operations as load returns to normal.epam.github.io · read 30 Sep 2026
- Load safeguards
- Under heavy load, Wilma can disable message decoding and then disk logging, and restore those operations when load returns to normal.epam.github.io · read 30 Sep 2026
- Logging controls
- Message logging can be switched on or off from the Wilma UI, and the UI provides access to message log files.epam.github.io · read 30 Sep 2026
- Log retention
- Wilma has a scheduled process that deletes old message logs according to configurable settings.epam.github.io · read 30 Sep 2026
- Message modification
- Message interceptors can alter or analyze requests and responses in real time, and users can add their own interceptor classes.epam.github.io · read 30 Sep 2026
- Message search
- An optional companion application searches request-response pairs logged by Wilma.github.com · read 30 Sep 2026
- Operating modes
- Wilma can run as a proxy, a service stub, or in a mixed mode.epam.github.io · read 30 Sep 2026
- Purpose
- Wilma combines a service stub with an HTTP/HTTPS transparent proxy for developing and testing applications that depend on other services.epam.github.io · read 30 Sep 2026
- Runtime configuration
- Wilma's stub behavior is configured using JSON files, which can be uploaded or changed through its UI or service while it is running.epam.github.io · read 30 Sep 2026
- Runtime requirement
- The Wilma application requires JRE 11, and Wilma Message Search requires JDK 11.epam.github.io · read 30 Sep 2026
- Security and protocols
- The introduction says Wilma supports HTTP/HTTPS transparent proxying, including two-way SSL; the repository notes TLS 1.1, 1.2, and 1.3 support for version 2.0, with possible extra configuration.epam.github.io · read 30 Sep 2026
- Stub configuration
- Stub behavior is configured with JSON files, and multiple stub configurations can be used.epam.github.io · read 30 Sep 2026
- Support
- The project invites users to submit issues, patches, suggestions, and feedback, and says enterprise support requests can be sent to its contact email.epam.github.io · read 30 Sep 2026