php-soap/engine-integration-tests
Integration test suite for PHP SOAP engines, exercising real client/server exchanges to validate WSDL handling, message encoding, attachments, headers, and fault behavior. Helps maintainers catch interoperability regressions across supported SOAP implementations.
ext-soap or adopt php-soap/engine (pure PHP) in a Laravel service.ext-soap is unavailable, pinned, or behaves inconsistently across base images and PHP versions.Dom\Element nodeValue in AbstractEncoderTest) — a test-suite accuracy fix, most relevant to PHP 8.4 DOM API behavior. No public API change, no deprecation, no breaking change. Safe to bump; no product decision is altered by this release, it only slightly improves the reliability of the conformance signal.Adopt it when:
php-soap/engine) and need a portable, engine-agnostic correctness suite rather than hand-rolled fixtures.ext-soap or running SOAP code in environments where the extension isn’t available, and want a repeatable before/after comparison as a CI gate.Look elsewhere when:
Http::fake(), WSDL stubs, or recorded fixtures instead.For executives: We’re evaluating a low-cost, dev-only test suite that tells us — mechanically, not anecdotally — whether our SOAP integrations behave correctly across PHP versions and across SOAP engine implementations. It converts a risky “swap the SOAP engine and hope” migration into a CI-verified checklist. Cost is negligible; the value is de-risking a migration and avoiding an outage in a revenue-adjacent integration path.
For engineering leadership: It’s the shared conformance suite for the php-soap engine contract. We add it as a require-dev dependency, wire it into the pipeline, and get an objective pass/fail on encoding, decoding, and WSDL behavior instead of maintaining our own parity fixtures. The 1.12.0 release is a maintenance fix to the suite’s own encoder test — no API surface change, no action required beyond a routine version bump. Recommended next step: a one-sprint spike to run the suite against our current stack and record a baseline before any engine change.
How can I help you explore Laravel packages today?