Weave 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 Process Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7
v3.3

Changes

  • Require cleverage/process-bundle ^5.4.
  • Please follow UPGRADE.md v3.3
  • #66 RequestTask logs a failed call as Soap call failed instead of the misleading Empty resultset for query (same level and log context). Remove the monolog.logger tag of RequestTransformer, which has no logger. Type MissingClientException::create(string $code). Document that a client, shared, keeps its state between two process executions in a long-running worker. Update documentation and tests.
  • #64 The configuration key of the bundle (its extension alias) is cleverage_soap_process, instead of clever_age_soap_process (no option could be configured there). Configuring a key under cleverage_soap_process is deprecated: the bundle has no configuration and the keys were ignored without notice (new internal Configuration, empty; notice when the container is compiled). They will be rejected in 4.0. Require symfony/deprecation-contracts, used directly. Update documentation, add tests.
  • #62 The bundle throws exceptions implementing ProcessExceptionInterface of the process bundle instead of raw SPL exceptions (as cleverage/process-bundle#317): new Exception\UnexpectedValueException, Exception\InvalidArgumentException and Exception\RuntimeException, extending the SPL exceptions thrown before (same messages, the existing catch keep working). Add tests.
  • #60 Composer: require PHP ^8.2 instead of >=8.2 (PHP 9 is no longer accepted before being tested), remove the authorization of the symfony/flex plugin, which is not required (the CI installs it globally), as cleverage/process-bundle#319.
  • #55 Define the public API (Symfony BC promise, as cleverage/process-bundle#279): RequestTask, RequestTransformer, ClientRegistry and CleverAgeSoapProcessBundle are marked [@final](https://github.com/final) since 3.3, they will be final in 4.0: extending them triggers a deprecation with the Symfony DebugClassLoader. Client (extended by the applications) and MissingClientException stay open. CleverAgeSoapProcessExtension and RegisterClientsPass are marked [@internal](https://github.com/internal).
  • #54 CleverAgeSoapProcessExtension::findServices() loads the service definition files with a glob pattern instead of a Finder (same files, as cleverage/process-bundle#271), symfony/finder is no longer required. Add tests.
  • #52 ClientRegistry: the clients are loaded lazily from a service locator indexed by code: a client is only instantiated when a task or the transformer uses it (an error in a client that a process does not use no longer makes it fail). The code is given by the new code attribute of the cleverage.soap.client tag, or by the new #[AsSoapClient(code: '...')] attribute (autoconfiguration); it must be the one returned by getCode(). Duplicate or empty codes fail the container compilation. A client tagged without code is still registered eagerly, with ClientRegistry::addClient(), which is deprecated (the code will be required in 4.0). New optional ClientRegistry constructor argument (the locator); ClientRegistry is autowirable by its class name. Require symfony/service-contracts. Update documentation, add tests.
  • #50 Require symfony/polyfill-php83, symfony/polyfill-php84 and symfony/polyfill-php85 (cleverage/process-bundle#299), so the functions of PHP 8.3 to 8.5 can be used while supporting PHP 8.2. Configure Rector for PHP 8.2 with its polyfills set (it was configured for PHP 8.5, and could introduce PHP 8.3+ functions without polyfill). No code change: no Rector rule applies and no manual replacement keeps an identical behaviour. Document it in CONTRIBUTING.md.
  • #46 Give a code to the task (cleverage/process-bundle#91): soap_request (task: soap_request, with cleverage/process-bundle 5.4 or later, referencing it by service being deprecated there). The task has its class name as service id; fetching it directly from the service container is deprecated (container.private), it will be private in 4.0. The former id cleverage_soap_process.task.request is a deprecated alias, removed in 4.0. Update documentation, add tests.
  • #45 Tag the RequestTransformer with its code, soap_request, for its lazy loading by cleverage/process-bundle 5.4 or later (cleverage/process-bundle#276). The transformer has its class name as service id; fetching it directly from the service container is deprecated (container.private), it will be private in 4.0. The former id cleverage_soap_process.transformer.request is a deprecated alias, removed in 4.0. Update documentation, add tests.
  • #43 CI: test the lowest versions allowed by composer.json (--prefer-lowest, PHP 8.2). Require psr/log ^2|^3: the loggers (of the tests, and TaskLogger of cleverage/process-bundle) use the typed LoggerInterface signatures of psr/log 2+, a fatal error with psr/log 1.
  • #41 Add a .gitattributes: the development files (.docker/, .github/, tests/, quality tools and PHPUnit configurations, Makefile) are no longer part of the archive installed by Composer (dist).
  • #38 Require psr/log, used directly by Client and RequestTask but only installed through cleverage/process-bundle.

Fixes

  • #37 Fix RequestTask: inject the logger service instead of monolog.logger, so that it logs on the cleverage_process_task channel of its monolog.logger tag (it logged on the app channel, without the process context, and its logs were missing from the process execution logs of the UI). Add tests.
v3.2

Changes

  • #23 Add missing tests: Client (with a fake SoapClient), RequestTask, RequestTransformer, MissingClientException, bundle and DI extension.
  • #27 Give the ids of both services in the error on duplicate client codes: the clients are registered by a compiler pass of the bundle, ClientRegistry::addClient() gets an optional $serviceId argument. Update documentation, add tests.

Fixes

  • #29 Fix RequestTask: keep the SOAP options and headers of the client definition when soap_call_options / soap_call_headers are not set (they were overwritten by null). Update documentation, add tests.
  • #30 Fix RequestTask and RequestTransformer: set soap_call_options / soap_call_headers for the call only (they leaked to the next calls of the client), add these options to the soap_request transformer. Update documentation, add tests.
  • #31 Fix Client: throw the SoapFault of a failed call (it returned false), so a method returning false is no longer handled as failed, and the soap_request transformer fails on a SoapFault. Update documentation, add tests.
  • #32 Fix Client: a SoapFault returned with the exceptions: false option makes the call fail (it was returned as a result). Update documentation, add tests.
  • #33 Fix RequestTask: throw an explicit \UnexpectedValueException on a non-array input (a TypeError was triggered); Client: log the notice of the calls handled by a soapCall<Method>() override. Update documentation, add tests.
v3.0

Add

Breaking Changes

v2.1

Changes

  • #12 Upgrade to Symfony 7.3 & PHP 8.4
v2.0.1

Fixes

  • #10 Add missing shared: false on tasks
v2.0.0

BC breaks

  • #4 Update services according to Symfony best practices. Services should not use autowiring or autoconfiguration. Instead, all services should be defined explicitly. Services must be prefixed with the bundle alias instead of using fully qualified class names => cleverage_soap_process

Changes

  • #2 Add Makefile & .docker for local standalone usage
  • #2 Add rector, phpstan & php-cs-fixer configurations & apply it
  • #3 Remove sidus/base-bundle dependency
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console