monosize / soap-proxy
A secure PHP-based SOAP proxy that authenticates and forwards SOAP requests to a target server
v1.0.12
2025-02-10 16:41 UTC
Requires
- php: >=8.2
- ext-curl: *
- ext-dom: *
- ext-xml: *
- monolog/monolog: ^3.8
- psr/log: ^3.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^10.0
- vimeo/psalm: ^5.0
README
A secure PHP-based SOAP proxy that authenticates SOAP requests and forwards them to a target server. Supports both WSDL queries and SOAP messages.
Features
- Proxying SOAP requests with authentication
- Support for SOAP 1.1 and 1.2
- WSDL caching and forwarding
- Configurable target servers
- Automatic debug logging control via PROXYDEBUG
- Flexible error handling
- Basic authentication support
- Connection pooling for improved performance
Installation
composer require monosize/soap-proxy
Quick Start
use MonoSize\SoapProxy\SoapProxy; use Monolog\Logger; use Monolog\Handler\RotatingFileHandler; $projectRoot = dirname(__DIR__); $envPath = $projectRoot; $cacheDir = $projectRoot . '/var/cache/wsdl'; $logFile = $projectRoot . '/var/log/soap-proxy.log'; // Create logger with file rotation $logger = new Logger('soap-proxy'); $logger->pushHandler(new RotatingFileHandler( $logFile, 30 )); // Create a proxy from environment variables // Log level will be automatically set based on PROXYDEBUG environment variable $proxy = SoapProxy::createFromEnv($logger, $cacheDir, $envPath); // Process request $proxy->handle();
Documentation
The full documentation can be found in the docs directory:
System Requirements
- PHP 8.2 or higher
- Extensions: curl, dom, xml
- Composer
Support
If you encounter issues or have questions, please create an issue in the GitHub Issue Tracker.
Contribution
Contributions are welcome!
License
This library is licensed under the MIT license. For more details, see the LICENSE file.
Credits
Created by Frank Rakow frank.rakow@gestalten.de