besimple/soap-client
Extends PHP’s native SoapClient with support for SOAP with Attachments (SwA), MTOM optimization, WS-Security (incl. UsernameToken), and WS-Addressing. Useful when integrating SOAP services that require attachments and message-level security.
SoapClient, offering fine-grained control over SOAP headers, attachments, and security—useful for complex enterprise integrations.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Deprecation Risk | Medium | Package is unmaintained (last commit: 2018). Fork or migrate to php-soap + custom logic if critical. |
| WS-Security Complexity | High | Requires deep understanding of XML encryption/signing; test thoroughly with target SOAP endpoints. |
| Performance Overhead | Medium | MTOM/SwA improve binary data handling but may add latency; benchmark against raw SoapClient. |
| Laravel Ecosystem Gaps | Low | No native Laravel integrations (e.g., queue jobs for async SOAP calls). |
SoapClient suffice?ext-soap + custom logic feasible?SoapClient: Lighter but lacks MTOM/SwA/WS-Security.diogo-santos/soap-client (more maintained) or php-soap extension.SoapClient for performance/correctness.SoapClient instances with BeSimpleSoapClient in one module at a time.$this->app->singleton(SoapClient::class, function ($app) {
return new \BeSimple\SoapClient\SoapClient($wsdl, $options);
});
SoapClient calls with BeSimpleSoapClient.SoapClient usage entirely.php-soap + custom logic or diogo-santos/soap-client.var_dump($client->__getLastRequest()).json column or Elasticsearch).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| SOAP Endpoint Unavailable | App downtime | Circuit breakers + retries (Laravel queues). |
| WS-Security Rejection | Auth failures | Validate credentials early; log payloads. |
| Malformed MTOM Attachments | Data corruption | Validate attachments pre-submission. |
| Package Abandonment | Migration risk | Fork or migrate to alternative. |
PHP soap Extension Missing |
Deployment failures | Use Docker with php:soap image. |
How can I help you explore Laravel packages today?