Я пытаюсь использовать PHP SoapClient для вызова функции веб-службы, для которой используются следующие два параметра (взяты из документации):
byte[] file, // byte array of file
byte[] hashFile // byte array of hash SHA-256 of the original file
Это файл XML, но я неу меня нет файла, я просто генерирую его содержимое на лету с помощью: $fileContent = $this->xmlDocument->saveXML()
Проблема в том, что когда я выполняю вызов функции, сервер отвечает: недействительнохэш файла
Я не могу понять, в чем моя ошибка.
Это часть WSDL , которая определяет следующие параметры:
<wsdl:part name="file" type="xsd:base64Binary"/>
<wsdl:part name="hashFile" type="xsd:base64Binary"/>
А это мой код:
<?php
function sendDocument($xmlDocument,$soapClient)
{
$fileContent = $xmlDocument->saveXML()
$params = [
"file" => getByteArray($fileContent),
"hashFile" => getByteArray(getHash($fileContent)),
];
$response = $soapClient->__soapCall("sendDocument", $params);
}
function getByteArray($string)
{
return base64_encode($string);
}
function getHash($string)
{
return hash("sha256", $string);
}
?>