Skip to content

nfqde/soap-bundle

Repository files navigation

SoapBundle Build Status

SoapBundle provides functionality for PHP SoapClient to be traceable by Symfony WebProfiler.

SoapBundle Promo

Features

  • Requests are being logged in WebProfiler
  • Event is being dispatched after SoapRequest

Installation

  1. Add this bundle to your project as composer dependency

    composer require nfqde/soap-bundle
  2. Add this bundle in application kernel

    // app/AppKernel.php
    public function registerBundles()
    {
        // ...
        $bundles[] = new Nfq\Bundle\SoapBundle\NfqSoapBundle();
    
        return $bundles;
    }

Usage

Instead of creating SoapClient like new \SoapClient($wsdl, $optionalOptions) you SHOULD create it via $container->get('nfq_soap.factory')->create($wsdl, $optionalOptions) which returns an instance of SoapClient.

// Old way
$oldSoapClient = new \SoapClient($wsdl);

// New way
$client = $container->get('nfq_soap.factory')->create($wsdl);
# Old Way
services:
    old_soap_client:
        class: SoapClient
        arguments: ["%wsdl_url%"]

# New Way
services:
    new_soap_client:
        class: SoapClient
        factory: ["@nfq_soap.factory", create]
        arguments: ["%wsdl_url%"]

License

SoapBundle is licensed under the MIT License - see the LICENSE file for details