【发布时间】:2011-11-24 11:58:38
【问题描述】:
我正在使用 SOAP 连接到 third party service。此服务有时会返回 SoapFaults。因为这是预期的,所以我想通过模拟 SoapFaults 来测试它。它会返回五个标准的 SoapFaults。
这是真正的 SoapFault 的开始:
object(SoapFault)#7 (11) {
["message":protected]=>
string(19) "{ 'INVALID_INPUT' }"
我对此消息感兴趣。在我的代码中,我使用 $e->getMessage()。
catch (SoapFault $e)
{
// Catch any Soap faults and convert to an error message
switch ($e->getMessage())
{
case "{ 'INVALID_INPUT' }":
$this->addError(self::INVALID_INPUT);
return FALSE;
但我不知道如何模拟 SoapClient 响应。 SoapClient 对象似乎没有接受任何输入来设置消息,并且方法getMessage() 是最终的,所以我无法模拟它。
任何想法将不胜感激。谢谢。
【问题讨论】:
-
如果有帮助:
new SoapFault(0, 'put your message here');将设置getMessage();返回值。