我正在使用WSDL文件来发送短信,我通过使用Wsdl2PhpGenerator \ Generator生成了所有php类。您可以看到其中一个函数是paramers @param base64Binary $ tpl,因为您看到此参数的类型是base64Binary。
我一直在尝试对$ tpl进行编码,但没有任何运气
$tpl = __DIR__ . "/file00000"
$content = file_get_contents($tpl);
$src = base64_encode($content);
编码结果数据以:开头
"SVMtQgAAAAFIRUFEAAAABAAAAAhGSUxFAA ...
这是我的捕获(\ SoapFault $ e)
{#355 ▼
+"code": "BAD_REQUEST"
+"desc": "cannot parse template"
}
你有什么想法吗?
Base64是不是二进制的字符串。
如果您的WSDL文件需要参数base64Binary类型,请不要使用base64_encode()
,因为PHP Soap会自行进行编码。
您可以直接将$content
作为$src
传递。