Artem_Paris
Новичок
Добрый день.
Помогите разобраться в чем косяк.
Ошбика следующая:
Uncaught TypeError: Return value of MyNamespace\MyClass::checkStatus() must be an instance of MyNamespace\Type\CheckStatusResponse, instance of Phpro\SoapClient\Type\MixedResult returned in /var/www/html/client/src/MyClient.php:38
Я так понимаю, в качестве возвращаемого ответа ожидается экземпляр класса CheckStatusResponse, а возвращается экземпляр класса Phpro\SoapClient\Type\MixedResult.
Но как его заставить возвращать верно?
MyClient.php
CheckStatusRequest.php
CheckStatusResponse.php
Помогите разобраться в чем косяк.
Ошбика следующая:
Uncaught TypeError: Return value of MyNamespace\MyClass::checkStatus() must be an instance of MyNamespace\Type\CheckStatusResponse, instance of Phpro\SoapClient\Type\MixedResult returned in /var/www/html/client/src/MyClient.php:38
Я так понимаю, в качестве возвращаемого ответа ожидается экземпляр класса CheckStatusResponse, а возвращается экземпляр класса Phpro\SoapClient\Type\MixedResult.
Но как его заставить возвращать верно?
MyClient.php
PHP:
<?php
namespace MyNamespace;
use MyNamespace\Type;
use Phpro\SoapClient\Type\RequestInterface;
use Phpro\SoapClient\Type\ResultInterface;
use Phpro\SoapClient\Exception\SoapException;
class MyClient extends \Phpro\SoapClient\Client
{
/**
* @param RequestInterface|Type\CheckStatusRequest $parameters
* @return ResultInterface|Type\CheckStatusResponse
* @throws SoapException
*/
public function checkStatus(\MyNamespace\Type\CheckStatusRequest $parameters) : \MyNamespace\Type\CheckStatusResponse
{
return $this->call('checkStatus', $parameters);
}
}
PHP:
<?php
namespace MyNamespace\Type;
use Phpro\SoapClient\Type\RequestInterface;
class CheckStatusRequest implements RequestInterface
{
/**
* @var string
*/
private $Id = null;
/**
* Constructor
*
* @var string $Id
*/
public function __construct($Id)
{
$this->Id = $Id;
}
/**
* @return string
*/
public function getId()
{
return $this->Id;
}
/**
* @param string $Id
* @return CheckStatusRequest
*/
public function withId($Id)
{
$new = clone $this;
$new->Id = $Id;
return $new;
}
}
PHP:
namespace MyNamespace\Type;
use Phpro\SoapClient\Type\ResultInterface;
class CheckStatusResponse implements ResultInterface
{
/**
* @var \MyNamespace\Type\Status
*/
private $return = null;
/**
* @return \MyNamespace\Type\Status
*/
public function getReturn()
{
return $this->return;
}
/**
* @param \MyNamespace\Type\Status $return
* @return CheckStatusResponse
*/
public function withReturn($return)
{
$new = clone $this;
$new->return = $return;
return $new;
}
}