liip / soap-recorder-bundle
0.9.8
2013-06-24 11:56 UTC
Requires
- php: >=5.3.3
- symfony/filesystem: ~2.0
- symfony/framework-bundle: ~2.0
Requires (Dev)
- liip/rmt: 0.9.*
This package is not auto-updated.
Last update: 2022-02-01 12:23:34 UTC
README
此包不再维护。如有需要,请随意进行分支。
LiipSoapRecorderBundle 
此包提供了一种轻松记录SOAP通信的方式。典型用法可以是
- 生成一组固定值以编写功能测试
- 记录一个场景并能够回放它
- 模拟离线工作的Web服务
- ...
安装
- 像安装其他SF2包一样安装此包(Composer或git子模块安装+在内核中启用)
- 将基类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项目中使用它,而不仅限于包内
- 将您的基类SoapClient替换为新的Liip\SoapRecorderBundle\Client\RecordableSoapClient
- 通过调用开始记录
RecordableSoapClient::setRecordFolders('/tmp/request', '/tmp/response', '/tmp/wsdl');
RecordableSoapClient::startRecording();
// Call your webservice like usual`
- 开始播放您的记录
RecordableSoapClient::setFetchingMode(RecordableSoapClient::FETCHING_LOCAL_FIRST);
// Call your webservice like usual
贡献
如果您想贡献力量,请访问项目页面:https://github.com/liip/LiipSoapRecorderBundle,进行分支并提供PR。
此项目附带一个功能测试套件,有关更多信息,请参阅Tests/README.md。
要求
PHP 5.3
作者
- Pierre Vanhulst - Liip SA pierre.vanhulst@liip.ch
- David Jeanmonod - Liip SA david.jeanmonod@liip.ch
许可证
LiipSoapRecorderBundle 在 MIT 许可证下授权 - 有关详细信息,请参阅 LICENSE 文件