你可以尝试
$url = "https://bill.samanepay.com/CheckBill/BillStateService.svc?wsdl";
try {
$client = new SoapClient($url, [
"soap_version" => SOAP_1_2, // SOAP_1_1
'cache_wsdl' => WSDL_CACHE_NONE, // WSDL_CACHE_MEMORY
'trace' => 1,
'exception' => 1,
'keep_alive' => false,
'connection_timeout' => 500000
]);
print_r($client->__getFunctions());
} catch (SOAPFault $f) {
error_log('ERROR => '.$f);
}
验证您的方法名称是否正确。
在那里你可以看到方法
VerifyBillPaymentWithAddDataResponse VerifyBillPaymentWithAddData(VerifyBillPaymentWithAddData $parameters)
接下来是检查类型VerifyBillPaymentWithAddData
以及参数是否可以是数组。
您也可以测试通过调用该方法
$client->VerifyBillPaymentWithAddData([
'UserName' => 12324,
'Password' => 432123,
'Bill_Id' => 153585611140,
'Payment_Id' => 8560103,
]);
或你的,除了附加数组
$info = $client->__call($method, $parameters);
编辑:
假设https://stackoverflow.com/a/5409465/1152471 https://stackoverflow.com/a/5409465/1152471该错误可能出现在服务器端,因为服务器发回的标头与 SOAP 1.2 标准不兼容。
也许您必须使用第三方库甚至简单的套接字才能使其正常工作。