Wrapper for creating SOAP web service servers in Laravel using Laminas/Soap.
- PHP
^8.3 - Laravel
^12.0 || ^13.0 ext-soap
composer require kduma/laravel-soap-serverCreate a service class:
class MathService
{
/** @param float $a */
/** @param float $b */
public function add(float $a = 0, float $b = 0): float
{
return $a + $b;
}
}Create a controller:
class MySoapController extends \KDuma\SoapServer\AbstractSoapServerController
{
protected function getService(): string { return MathService::class; }
protected function getEndpoint(): string { return route('soap'); }
protected function getWsdlUri(): string { return route('soap.wsdl'); }
}Register routes:
Route::name('soap.wsdl')->get('/soap.wsdl', [MySoapController::class, 'wsdlProvider']);
Route::name('soap')->post('/soap', [MySoapController::class, 'soapServer']);