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

This package is auto-updated.

Last update: 2025-06-10 17:22:13 UTC


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