cleverage/soap-process-bundle
CleverAge/SoapProcessBundle adds SOAP integration to the CleverAge ProcessBundle, helping Symfony applications configure and run SOAP-based process tasks. Part of CleverAge’s process tooling, MIT licensed, with usage docs included.
cleverage_soap_process (old keys were silently ignored), ClientRegistry::addClient() is deprecated in favor of code on the cleverage.soap.client tag or the new #[AsSoapClient(code: '...')] attribute, the task/transformer service IDs move to soap_request (former IDs remain as aliases until 4.0), and RequestTask, RequestTransformer, ClientRegistry and CleverAgeSoapProcessBundle are @final since 3.3. This is a roadmap input: schedule a v4.0 readiness work item now, while the upgrade path is documented in UPGRADE.md.^8.2, cleverage/process-bundle ^5.4, psr/log ^2|^3, plus symfony/polyfill-php83/84/85 and symfony/service-contracts. Note two constraints your platform decision must absorb: PHP 9 is explicitly excluded (until tested — good hygiene, but it means a PHP 9 migration will block on this dependency), and psr/log 1.x is a fatal error, so any service still pinned to psr/log ^1 must be upgraded alongside.RequestTask now logs to the cleverage_process_task channel with proper process context instead of app, which means SOAP failures finally surface in the process execution UI. This changes incident triage: previously failed SOAP calls could appear as an empty result set (Empty resultset for query) rather than a failure — a genuinely misleading signal for on-call.ProcessExceptionInterface while still extending the SPL exceptions thrown before, with identical messages. Existing catch blocks keep working and failures can now be handled uniformly with the rest of the process bundle — relevant for retry/alerting policy design.symfony/finder, removing the unnecessary symfony/flex plugin authorization, and adding .gitattributes (dev files excluded from the Composer dist archive) reduce install size and supply-chain surface — a small but real build-time and audit win.SoapClient calls.cleverage/process-bundle 5.4+ — this is a hard co-dependency, not optional; v3.3 exists largely to align with it.DebugClassLoader will flag extensions of the @final since 3.3 classes; container compilation emits a notice for legacy config keys).psr/log 1.x with no upgrade path — v3.3 will not install.^8.2 explicitly rejects it until upstream testing lands.guzzlehttp/guzzle) or requires GraphQL/gRPC — this package is SOAP-specific.cleverage/process-bundle 5.4+ requirement, or you use a different process/pipeline abstraction — the task codes, ProcessExceptionInterface, and TaskLogger integration are all coupled to it.RequestTask / RequestTransformer / ClientRegistry / the Bundle class as a customization strategy — these are @final since 3.3 and will be final in 4.0. Prefer composition now.addClient() path, and legacy config keys."This is a maintenance release on a dependency we already use to talk to SOAP-based systems — ERP, payment processors, government APIs — inside our process pipelines. It doesn't add scope; it makes the integration more reliable and cheaper to operate: SOAP failures now show up correctly in our execution logs instead of looking like empty results, a broken client endpoint no longer takes down an entire process run, and the package tracks a supported PHP 8.2+ baseline with polyfills for newer language features. The one decision it forces is timing: the maintainers have clearly signposted a 4.0 cleanup, and v3.3 is the cheapest moment to do the small migrations (client codes, service IDs) — while they're optional rather than breaking. Low-risk, low-effort, and it de-risks a future upgrade instead of deferring it."
"v3.3 is an alignment + deprecation release, not a feature release. Concretely:
cleverage/process-bundle ^5.4, PHP ^8.2 (PHP 9 rejected until tested), psr/log ^2|^3 (1.x is a fatal error), symfony/service-contracts, symfony/deprecation-contracts, and PHP 8.3–8.5 polyfills. symfony/finder and the symfony/flex plugin allowance are gone.code — set via the cleverage.soap.client tag's code attribute or #[AsSoapClient(code: '...')]. Duplicate or empty codes fail container compilation. Tagging without code still works but addClient() is deprecated.ProcessExceptionInterface while extending the previous SPL exceptions with the same messages — existing catch blocks are unaffected, but you can now handle failures uniformly.RequestTask/RequestTransformer are addressable as soap_request; the old cleverage_soap_process.task.request and .transformer.request IDs are deprecated aliases removed in 4.0, and direct container fetching is deprecated (container.private).cleverage_soap_process (old keys were silently ignored — anything you configured there never applied), stop extending the @final since 3.3 classes, always supply a client code, and stop fetching services by ID.*No forced refactor today, but treat the deprecation list as a v4.0 work item with a deadline set by upstream."
"Upgrade is mechanical; the value is in the fixes and the guardrails.
Fixes you'll actually notice
RequestTask now injects logger (not monolog.logger), so SOAP failures log to the cleverage_process_task channel with process context and appear in the execution UI. Also, a failed call now logs Soap call failed instead of the misleading Empty resultset for query. If you were debugging SOAP failures by guessing, this is your release.API changes to adopt
code to the cleverage.soap.client tag, or use #[AsSoapClient(code: '...')]. The code must match getCode(). Empty/duplicate codes fail compilation — treat that as a feature.soap_request (requires process-bundle 5.4+). cleverage_soap_process.task.request / .transformer.request are deprecated aliases. Don't pull them from the container directly — they go private in 4.0.Exception\UnexpectedValueException, InvalidArgumentException, RuntimeException implement ProcessExceptionInterface and extend the SPL ones — same messages, existing catches keep working.cleverage_soap_process. The bundle has no configuration; keys under the old spelling were silently ignored (compile-time notice now, rejected in 4.0). Remove them.RequestTask, RequestTransformer, ClientRegistry, CleverAgeSoapProcessBundle are @final since 3.3 → extend via composition; DebugClassLoader will warn otherwise. Client and MissingClientException remain open for extension. CleverAgeSoapProcessExtension and RegisterClientsPass are @internal.Watch out for
psr/log 1.x will fatal — bump to ^2|^3 first.^8.2 (PHP 9 not accepted).UPGRADE.md#v33; CI now tests --prefer-lowest on PHP 8.2, so low-end deps are actually exercised.Example: wrap a SOAP payment gateway as a Client with #[AsSoapClient(code: 'payment')], call it from a soap_request task — failures now land as typed ProcessExceptionInterface exceptions and show up in the process UI."*
How can I help you explore Laravel packages today?