• Почему PHP SoapClient закрывает соединение?

    @sokolpeter Автор вопроса
    Нашел причину)
    В моем wsdl отсутствовал wsdl:output, то есть soap-клиент не дожидался ответа от сервиса и закрывал соединение. А сервер по каким-то причинам не переваривал такое поведение.

    Как вариант, чтобы не править все wsdl можно переопределить метод __doRequest, чтобы принудительно в $one_way передавать 0:

    class MySoapClient extends SoapClient
    {
      public function __doRequest ($request, $location, $action, $version, $one_way = 0)
      {
        return parent::__doRequest ($request, $location, $action, $version, 0);
      }
    }
    Ответ написан
    Комментировать