liip/soap-recorder-bundle

此包已被废弃,不再维护。作者建议使用php-vcr/php-vcr包。

SOAP通信的简单记录器

0.9.8 2013-06-24 11:56 UTC

README

此包不再维护。如有需要,请随意进行分支。

LiipSoapRecorderBundle Build Status

此包提供了一种轻松记录SOAP通信的方式。典型用法可以是

  • 生成一组固定值以编写功能测试
  • 记录一个场景并能够回放它
  • 模拟离线工作的Web服务
  • ...

安装

  1. 像安装其他SF2包一样安装此包(Composer或git子模块安装+在内核中启用)
  2. 将基类SoapClient替换为新的Liip\SoapRecorderBundle\Client\RecordableSoapClient

配置

默认情况下,此包不执行任何操作,要激活它,您只需配置它

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

用法

要使用此包,您可以玩一些配置参数

  • record可以设置为
    • true:开始通信记录
    • false:停止它
  • fetching_mode可以设置为
    • remote:始终从Web服务获取响应
    • local_only:始终从本地记录中获取响应
    • local_first:尝试从本地获取,如果没有记录,则从Web服务获取
  • enable_profiler可以设置为
    • true:在Symfony2 Profiler中显示SOAP记录。它将从目录中删除记录的文件。
    • false:在不使用Symfony2 Profiler的情况下保留目录中的文件。
  • die_on_error可用于定义在本地_only且记录缺失时的行为
  • false:正常行为,将抛出异常
  • true:将显式地die(),这在Symfony2中很有用,因为有时生成的异常被替换为AccessDeniedException,从而掩盖了原始异常

Symfony2之外的用法

此包的核心是类Liip\SoapRecorderBundle\Client\RecordableSoapClient。此类是独立的,因此您可以在任何PHP 5.3项目中使用它,而不仅限于包内

  1. 将您的基类SoapClient替换为新的Liip\SoapRecorderBundle\Client\RecordableSoapClient
  2. 通过调用开始记录
   RecordableSoapClient::setRecordFolders('/tmp/request', '/tmp/response', '/tmp/wsdl');
   RecordableSoapClient::startRecording();
   // Call your webservice like usual`
  1. 开始播放您的记录
   RecordableSoapClient::setFetchingMode(RecordableSoapClient::FETCHING_LOCAL_FIRST);
   // Call your webservice like usual

贡献

如果您想贡献力量,请访问项目页面:https://github.com/liip/LiipSoapRecorderBundle,进行分支并提供PR。

此项目附带一个功能测试套件,有关更多信息,请参阅Tests/README.md。

Travis CI 同样用于持续集成测试:构建状态

要求

PHP 5.3

作者

许可证

LiipSoapRecorderBundle 在 MIT 许可证下授权 - 有关详细信息,请参阅 LICENSE 文件