econea/nusoap
NuSOAP is a pure-PHP library for creating and consuming SOAP 1.1 web services with WSDL 1.1 and HTTP 1.0/1.1 support. No PHP extensions required. Install via Composer and call methods on the client.
charencoding property (getter/setter) directly addresses a common integration defect class — legacy partners sending ISO-8859-1 or non-UTF-8 payloads. That's fewer "garbled characters in the invoice feed" tickets.ext-soap: The package's remaining differentiator is being pure PHP — valuable on shared hosting or containerized environments where the native soap extension is unavailable or disabled. If ext-soap is available, prefer it.^0.9 as a stopgap and set an explicit expiry date, or look elsewhere.For Executives: "This package keeps us connected to [Partner X's ERP] and other SOAP-only systems without custom development. The new release is actively maintained — modern test suite, PHP 8.5 compatibility, encoding fixes that reduce integration defects. One decision it forces: it now requires PHP 8.2 or newer. If our PHP upgrade is already on the roadmap, this is a low-cost, low-risk dependency; if not, we need to either accelerate that upgrade or pin the previous version with a dated exit plan. Either way, no bespoke SOAP client to build or maintain."
For Engineering:
*"v0.10.0 of the NuSOAP lineage (release published from contributte/nusoap — confirm and pin the exact Composer package name your app depends on) is a meaningful maintenance release with one breaking change:
composer.json modernized to require PHP >= 8.2. Tests and linter now target 8.2–8.5 only; PHP 5.6–8.1 is no longer a supported runtime. If we're below 8.2, stay on ^0.9 deliberately and track the upgrade.charencoding with getter/setter — use it for partners on ISO-8859-1 or other legacy charsets instead of post-processing strings.curl_close(), non-canonical casts), PHP 8.2+ wsdl::$schemaTargetNamespace deprecation, undefined $tt_ns warning in serialize_val(), removed $HTTP_SERVER_VARS.For Developers: *"Pin explicitly — this is a breaking release:
composer require contributte/nusoap:^0.10 # requires PHP >= 8.2
# or, if we're still below 8.2:
composer require <same-package>:^0.9
Usage is unchanged (new \nusoap_client($wsdl)). Set charencoding when a partner isn't UTF-8. Since the server path now has E2E coverage, it's fair game for exposing a SOAP endpoint if needed. Docs remain sparse — keep our own tests around namespaces, fault handling, and charset edge cases. Verify the fork/package name resolves to the maintained line before committing."*
How can I help you explore Laravel packages today?