Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Soap Client

Soap Client Laravel Package

comsave/soap-client

Laravel-friendly SOAP client wrapper that streamlines calling SOAP services in PHP. Provides simple configuration, request/response handling, and integration helpers so you can consume WSDL-based APIs with less boilerplate in your application.

View on GitHub
Deep Wiki
Context7

A PHP client for the Salesforce SOAP API

Frequently asked questions about Soap Client
How do I install **comsave/soap-client** in a Laravel project?
Run `composer require comsave/soap-client` in your project directory. The package requires PHP’s `soap` extension, which you may need to enable in your `php.ini` or via your hosting provider. No additional Laravel-specific setup is required unless you want to bind it to the service container.
Does this package work with Laravel 10 or PHP 8.2?
The package was last updated in 2020 and primarily targets PHP ≤7.4. While it *may* work with Laravel 10/PHP 8.2, you might encounter issues with named arguments, union types, or other modern PHP features. Test thoroughly or consider alternatives like `extenso/soap-client` if compatibility is critical.
Can I use this for SOAP services without a WSDL?
Yes, but with limitations. The package is optimized for WSDL-based services, offering structured operation discovery. For document/literal or non-WSDL SOAP APIs, you’ll need to manually define request payloads and handle responses, similar to using `SoapClient` directly.
How do I configure timeouts or handle SOAP exceptions in Laravel?
Pass SOAP options (like `exceptions`, `trace`, or `connection_timeout`) when initializing the client. For Laravel, store these in `config/soap.php` and inject them via the service container. Exceptions can be caught like any other PHP exception, but custom mapping to Laravel’s `HttpResponseException` may require middleware.
Is there a way to mock SOAP responses for testing in Laravel?
The package supports dependency injection, so you can bind a mock implementation in your `phpunit.xml` or tests. Use Laravel’s `Mockery` or `PHPUnit` to stub the `SOAPClientInterface` and return predefined XML responses. For HTTP testing, consider using Laravel’s `Http::fake()` with custom SOAP response logic.
Will this work with Laravel’s queue system for long-running SOAP calls?
No, the package makes synchronous, blocking calls by default. For long-running SOAP operations, dispatch a job to Laravel’s queue system and return a response immediately. Process the SOAP call in the background, but be mindful of memory limits and timeouts in your queue workers.
How do I handle large SOAP responses to avoid memory issues?
Enable streaming in your SOAP options by setting `stream_context` or `soap_options` to handle large payloads incrementally. Alternatively, adjust PHP’s `memory_limit` in your Laravel environment or process responses in chunks using `SimpleXMLElement` or `DOMDocument`.
Are there alternatives to **comsave/soap-client** for Laravel?
Yes, consider `extenso/soap-client` (more actively maintained, supports PHP 8.x) or `php-soap` with a custom wrapper. For modern APIs, evaluate REST/GraphQL clients like Guzzle or Laravel’s HTTP client. If you need async support, look into libraries like `reactphp/soap` for reactive programming.
Can I integrate this with Laravel’s logging system?
Yes, enable SOAP tracing by setting `'trace'` to `true` in your options. The raw trace data (XML requests/responses) will be available via `$client->getLastRequest()` and `$client->getLastResponse()`. Log these using Laravel’s `Log::debug()` or a custom monolog handler for debugging.
What should I do if the package breaks in production?
Since the package is outdated, have a fallback plan: either revert to PHP’s native `SoapClient` or switch to a maintained alternative like `extenso/soap-client`. Test your fallback in staging and ensure critical SOAP integrations are wrapped in try-catch blocks with graceful degradation logic.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed