在 laravel soap 中偶尔给我错误的版本错误?

in laravel soap give me wrong version error once in a while?

我尝试使用 soap 并连接到 wsdl 文件。 我不知道为什么 10 个请求中有 2 个发送但其他请求给我错误的版本错误。我通过

在 call soap 中定义了版本
'soap_version'=>        SOAP_1_1,

wsdl 以此开头:

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

错误显示如下:

 "message": "Wrong Version",
  "status_code": 500,

终于找到原因了

在我的代码中,我使用了这样的旧版本:

$result = $this->serve()->__soapCall($functionName, $arguments);

protected function serve()

{

if (is_null($this->client))
{
    $this->client = new SoapClient($this->wsdl, $this->options);
}
return $this->client;

}

然后当我改成这个时,解决那个问题:

$sms_client = new SoapClient($this->wsdl, array('encoding'=>'UTF-8'));

        $result =  $sms_client->$functionName($arguments);