2017 © Pedro Peláez
 

library soap-client-bundle

SoapClientBundle for symfony

image

freshcells/soap-client-bundle

SoapClientBundle for symfony

  • Friday, June 15, 2018
  • by ivoba
  • Repository
  • 2 Watchers
  • 5 Stars
  • 1,090 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 50 % Grown

The README.md

Freshcells SoapClientBundle

Latest Version on Packagist ![Software License][ico-license] soap-client-bundle Coverage Status ![Quality Score][ico-code-quality] Total Downloads, (*1)

Symfony integration for an advanced SoapClient., (*2)

Profiler, (*3)

Features

  • Logging of requests, responses and faults
  • XML can be anonymized before logging
  • DataCollector and symfony profiler integration
  • Events are dispatched before, after requests and in case of SoapFault
  • Provide mock requests and responses while testing and developing

Install

Via Composer, (*4)

``` bash $ composer require freshcells/soap-client-bundle, (*5)


## Usage Initalize the bundle: freshcells_soap_client: logger: monolog.logger.soap anonymize_logs: # in case you need to anonymize certain elements in the xml logs elements: - 'GivenName' - 'ns1:GivenName' attributes: [ 'PhoneNumber' ] namespaces: dummy: 'http://gcomputer.net/webservices/' truncate_element_logs: # in case you need to truncate some elements because values are too long for logging elements: - 'DailyDilbertResult' namespaces: dummy: 'http://gcomputer.net/webservices/' max_length: 2 truncate_logs: # in case you need to truncate request/response logs max_length: 350 Create a Soap Client service and tag it with `freshcells_soap_client.client` parameters: mock_requests: 'http://gcomputer.net/webservices/DailyDilbert': './tests/Fixtures/MockRequest.xml' mock_responses: 'http://gcomputer.net/webservices/DailyDilbert': './tests/Fixtures/MockResponse.xml' soap_options: mock_requests: '%mock_requests%' mock_responses: '%mock_responses%' services: _instanceof: Freshcells\SoapClientBundle\SoapClient\SoapClient: tags: [ 'freshcells_soap_client.client' ] Freshcells\SoapClientBundle\SoapClient\SoapClient: arguments: ['%soap_wsdl%', '%soap_options%'] public: true SoapClients are created outside of the bundle to give more flexibility, f.e when using generators like https://github.com/wsdl2phpgenerator/wsdl2phpgenerator. The bundle provides an advanced SoapClient that takes care of dispatching events, mocking and error handling. Make sure that you use this client or extend from it. ``` php $response = $this->container->get('Freshcells\SoapClientBundle\SoapClient\SoapClient')->DailyDilbert();

Note:
Mock requests can also be detected by a callable in case if Action and Location are not different by request, which is the case with some Soap servers. See tests for implementation., (*6)

Change log

Please see CHANGELOG for more information on what has changed recently., (*7)

Testing

bash $ composer test, (*8)

Todo

  • add to timeline in profiler
  • mock indicator
  • make middlewares
  • error / soap fault indicator in accordion header
  • use options-resolver

Contributing

Please see CONTRIBUTING for details., (*9)

Security

If you discover any security related issues, please email ivo.bathke@freshcells.de instead of using the issue tracker., (*10)

Credits

License

The MIT License (MIT). Please see License File for more information., (*11)

The Versions