Wilma
epam.github.io
What it is
Wilma is free, GPLv3-or-later software for developing and testing applications that depend on other services. It combines a service stub with an HTTP/HTTPS transparent proxy, allowing teams to capture, decode, save, and forward traffic, including two-way SSL, or generate configured responses. It can operate as a proxy, a stub, or both. JSON files define stub behavior, and configurations can be uploaded or changed through the interface or service while Wilma runs. Real-time interceptors can inspect or modify requests and responses; custom interceptors, condition checkers, and response formatters can be added, including through classes or JAR files. Message Search finds logged request-response pairs. Wilma supports unit, integration, functional, end-to-end, performance, and manual testing. It is available as Docker images, GitHub release ZIP files, or source builds. The application requires JRE 11, while Message Search requires JDK 11. Logging can be controlled and old logs deleted on schedules.
Spec sheet
- Purpose
- Wilma combines a service stub with an HTTP/HTTPS transparent proxy for developing and testing applications that depend on other services.Read 30 Sep 2026 · epam.github.io
- Deployment
- The maker offers Docker images, prepared GitHub release ZIP files, or building a release from source.Read 30 Sep 2026 · epam.github.io
- Integrations
- Wilma provides a Java service library through Maven Central and a .NET service library through NuGet.Read 30 Sep 2026 · epam.github.io
- Support
- The project invites users to submit issues, patches, suggestions, and feedback, and says enterprise support requests can be sent to its contact email.Read 30 Sep 2026 · epam.github.io
- License
- The repository states Wilma is free software under the GNU General Public License version 3 or later, with no warranty.Read 30 Sep 2026 · github.com
- Headquarters
- Newtown, Pennsylvania, United StatesRead 28 Sep 2026 · epam.github.io
- Distribution
- The applications are available as Docker Hub images, GitHub release ZIP files, or builds created from source.Read 30 Sep 2026 · epam.github.io
- Extensibility
- Users can add custom condition checkers, response formatters, and message interceptors, including by uploading classes or JAR files.Read 30 Sep 2026 · epam.github.io
- Load behavior
- When load rises, Wilma can disable message decoding and then disk logging, and it restores those operations as load returns to normal.Read 30 Sep 2026 · epam.github.io
- Load safeguards
- Under heavy load, Wilma can disable message decoding and then disk logging, and restore those operations when load returns to normal.Read 30 Sep 2026 · epam.github.io
- Log retention
- Wilma has a scheduled process that deletes old message logs according to configurable settings.Read 30 Sep 2026 · epam.github.io
- Logging controls
- Message logging can be switched on or off from the Wilma UI, and the UI provides access to message log files.Read 30 Sep 2026 · epam.github.io
- Message modification
- Message interceptors can alter or analyze requests and responses in real time, and users can add their own interceptor classes.Read 30 Sep 2026 · epam.github.io
- Message search
- An optional companion application searches request-response pairs logged by Wilma.Read 30 Sep 2026 · github.com
- Operating modes
- Wilma can run as a proxy, a service stub, or in a mixed mode.Read 30 Sep 2026 · epam.github.io
- 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.Read 30 Sep 2026 · epam.github.io
- Runtime requirement
- The Wilma application requires JRE 11, and Wilma Message Search requires JDK 11.Read 30 Sep 2026 · epam.github.io
- 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.Read 30 Sep 2026 · epam.github.io
- Stub configuration
- Stub behavior is configured with JSON files, and multiple stub configurations can be used.Read 30 Sep 2026 · epam.github.io
- Test scenarios
- The maker describes use in unit, integration, functional, end-to-end, and performance testing, as well as manual tests.Read 30 Sep 2026 · github.com
- Traffic handling
- It can capture, decode, save, and forward HTTP/HTTPS traffic, including two-way SSL, or generate stub responses for requests.Read 30 Sep 2026 · epam.github.io
- Use cases
- The site describes use in development and test environments, including unit, integration, functional, and end-to-end testing, as well as manual testing.Read 30 Sep 2026 · epam.github.io
Plans and prices
Strong points and limits
Strong points
- Free GPLv3-or-later software
- Proxy, stub, or mixed operating modes
- JSON configurations can change while running
- Custom interceptors and formatters supported
- Docker, ZIP, or source deployment
Limits
- Requires JRE 11
- Message Search requires JDK 11
- No database or messaging virtualization
- Self-hosted deployment required
Who it suits
Wilma suits development and test teams needing configurable service simulation, traffic inspection, and record-and-replay workflows. It is intended for self-hosted environments and supports Java and .NET service libraries.
Verdict
Wilma combines HTTP/HTTPS proxying, service stubbing, traffic logging, and extensibility in one self-hosted tool. Its runtime requirements and lack of database or messaging virtualization define its boundaries.
Where Specifiction places it
- Service Virtualization Software#13 of 217.8