All Projects → liip → LiipSoapRecorderBundle

liip / LiipSoapRecorderBundle

Licence: MIT license
[DEPRECATED] Recorder/Player for SOAP communications

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to LiipSoapRecorderBundle

gulp-rev-versions-bundle
A bundle that allows symfony to get the version of assets versioned with gulp-rev
Stars: ✭ 13 (+8.33%)
Mutual labels:  bundle, symfony-bundle
LiipSearchBundle
[DEPRECATED] Google XML API for searching is discontinued
Stars: ✭ 35 (+191.67%)
Mutual labels:  bundle, symfony-bundle
SonataTimelineBundle
[Abandoned] Integrates SpyTimelineBundle into Sonata
Stars: ✭ 24 (+100%)
Mutual labels:  bundle, symfony-bundle
Enqueue Bundle
[READ-ONLY] Message queue bundle for Symfony. RabbitMQ, Amazon SQS, Redis, Service bus, Async events, RPC over MQ and a lot more
Stars: ✭ 233 (+1841.67%)
Mutual labels:  bundle, symfony-bundle
SonataDoctrineMongoDBAdminBundle
Symfony Sonata / Integrate Doctrine MongoDB ODM into the SonataAdminBundle
Stars: ✭ 64 (+433.33%)
Mutual labels:  bundle, symfony-bundle
Lexikmaintenancebundle
This Symfony2 bundle allows you to place your website in maintenance mode by calling two commands in your console. A page with status code 503 appears to users, it is possible to authorize certain ips addresses stored in your configuration.
Stars: ✭ 253 (+2008.33%)
Mutual labels:  bundle, symfony-bundle
jsonrpc-bundle
JSON-RPC server for Symfony: exposes services registered in the service container as JSON-RPC-webservices
Stars: ✭ 31 (+158.33%)
Mutual labels:  bundle, symfony-bundle
Liiphellobundle
[DEPRECATED] Alternative Hello World Bundle for Symfony2 using several FriendsOfSymfony Bundles
Stars: ✭ 206 (+1616.67%)
Mutual labels:  bundle, symfony-bundle
stampie-bundle
stampie.github.io/
Stars: ✭ 26 (+116.67%)
Mutual labels:  bundle, symfony-bundle
SonataDashboardBundle
[Abandoned] Provides a Dashboard management through container and block services
Stars: ✭ 17 (+41.67%)
Mutual labels:  bundle, symfony-bundle
Fmelfinderbundle
📁 ElFinderBundle provides ElFinder integration with TinyMCE, CKEditor, Summernote editors
Stars: ✭ 231 (+1825%)
Mutual labels:  bundle, symfony-bundle
NucleosDompdfBundle
📜 This bundle provides a wrapper for using dompdf inside symfony.
Stars: ✭ 29 (+141.67%)
Mutual labels:  bundle, symfony-bundle
Victoire
Fullstack Symfony CMS: The perfect mix between a framework and a CMS
Stars: ✭ 227 (+1791.67%)
Mutual labels:  bundle, symfony-bundle
hashed-asset-bundle
Apply an asset version based on a hash of the asset for symfony/asset
Stars: ✭ 24 (+100%)
Mutual labels:  bundle, symfony-bundle
Sonataintlbundle
Symfony SonataIntlBundle
Stars: ✭ 212 (+1666.67%)
Mutual labels:  bundle, symfony-bundle
SensioBuzzBundle
No description or website provided.
Stars: ✭ 89 (+641.67%)
Mutual labels:  bundle, symfony-bundle
Mercure Bundle
The MercureBundle allows to easily push updates to web browsers and other HTTP clients in the Symfony full-stack framework, using the Mercure protocol.
Stars: ✭ 195 (+1525%)
Mutual labels:  bundle, symfony-bundle
Gifexceptionbundle
😛 The GhostBuster of your exception page!
Stars: ✭ 197 (+1541.67%)
Mutual labels:  bundle, symfony-bundle
SlackBundle
SlackBundle for Symfony2 with Guzzle-Integration
Stars: ✭ 39 (+225%)
Mutual labels:  bundle, symfony-bundle
LiipImagineSerializationBundle
Provides integration between LiipImagineBundle and JMSSerializerBundle
Stars: ✭ 24 (+100%)
Mutual labels:  bundle, symfony-bundle

UNMAINTAINED

This bundle is no longer maintained. Feel free to fork it if needed.

LiipSoapRecorderBundle Build Status

This bundle provide an easy way to record SOAP communications. Typical usage could be:

  • Generating a set of fixtures for functional test writing
  • Recording a scenario and being able to replay it
  • Mocking the webservice to work offline
  • ...

Installation

  1. Install this bundle like any other SF2 bundle (Composer or git submodule install + Enable it in the kernel)
  2. Replace the base class SoapClient by the new Liip\SoapRecorderBundle\Client\RecordableSoapClient

Configuration

By default the bundle does nothing, to activate it, you just need to configure it:

liip_soap_recorder:
    record:          true                 # boolean, activate or not the recording
    fetching_mode:   local_first          # can be remote, local_first or local_only
    request_folder:  /tmp/soap_request    # where to store the XML request
    response_folder: /tmp/soap_response   # where to store the XML response
    wsdl_folder:     /tmp/soap_wsdl       # where to store the WSDL of the webservice
    enable_profiler: true                 # boolean, active or not the profiler
    die_on_error:    false

Usage

To use the bundle, you can play with some config parameters:

  • record can be set to
    • true: to start communication recording
    • false: to stop it
  • fetching_mode can be set to:
    • remote: Always fetch response from the WebService
    • local_only: Always fetch response from the local recording
    • local_first: Try to fetch locally, and if not recorded yet, fetch to the WebService
  • enable_profiler can be set to:
    • true: to display SOAP records in the Symfony2 Profiler. It will delete the recorded files from the directories.
    • false: to keep the files in the directories without using the Symfony2 Profiler.
  • die_on_error can be used to define the behaviour in case you are in local_only and a record is missing:
  • false: Normal behavior, will throw an exception
  • true: Will die() with an explicit message, this is useful on Symfony2 where sometimes the generated exception is replace by an AccessDeniedException who masked the original one

Usage outside Symfony2

The heart of the bundle is the class Liip\SoapRecorderBundle\Client\RecordableSoapClient. This class is independent, so you can use it outside of the Bundle, in any PHP 5.3 project:

  1. Replace your base class SoapClient by the new Liip\SoapRecorderBundle\Client\RecordableSoapClient
  2. Start recording by calling:
   RecordableSoapClient::setRecordFolders('/tmp/request', '/tmp/response', '/tmp/wsdl');
   RecordableSoapClient::startRecording();
   // Call your webservice like usual`
  1. Start playing your records
   RecordableSoapClient::setFetchingMode(RecordableSoapClient::FETCHING_LOCAL_FIRST);
   // Call your webservice like usual

Contributing

If you would like to contribute, just go on the project page: https://github.com/liip/LiipSoapRecorderBundle, fork it and providing PRs.

This project comes with a functional test suite, just read the Tests/README.md for more information.

Travis CI is also running for continuous integration tests: Build Status

Requirements

PHP 5.3

Authors

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].