【发布时间】:2020-02-07 08:22:11
【问题描述】:
所以我知道有很多关于此的问题,但每个问题都适用于标题。 我有一个没有标头的 SOAP 请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="https://www.onderdelenlijn.nl/services/cars/v2.asmx">
<soapenv:Header/>
<soapenv:Body>
<v2:airbags_get>
<v2:credentials>
<!--Optional:-->
<v2:username>admin</v2:username>
<!--Optional:-->
<v2:password>adminpass</v2:password>
</v2:credentials>
</v2:airbags_get>
</soapenv:Body>
</soapenv:Envelope>
我正在尝试使用以下代码通过正文进行身份验证:
<?php
$client = new SoapClient('https://www.onderdelenlijn.nl/services/cars/v2.asmx?wsdl');
$soapmessage = [
'credentials' => [
'username' => 'admin',
'password' => 'adminpass'
]
];
$result = $client->airbags_get($soapmessage);
print_r($result);
?>
明确一点:普通的 SOAP 请求需要在 header 中进行身份验证,我没有?
错误:未捕获的 SoapFault 异常:[客户端] SOAP-ERROR:编码: 对象没有“参数”属性
是的
【问题讨论】:
-
任何具体错误? PHP + SOAP 经常是一场噩梦,如果你没有找到解决方案,我建议查看 nusoap,它为我节省了过去的很多问题。
-
@BrettGregson 我编辑了问题以包含错误。