“ PHP Soap”捕获到异常:服务器无法处理请求。--->对象引用未设置为对象的实例。

时间:2018-09-13 10:02:15

标签: php api soap

由于Soap错误是特定于WSDL的,所以我问这个问题。我正在尝试在在线会计应用程序中添加关系。进行身份验证并正常工作。

这是我正在使用的代码(获取关系时安全代码和SessionID正常工作):

$params = array( "input" => array( "SecurityCode2" => $SecurityCode2,
    "SessionID" => $SessionID,
    "cRelatie" => array(
        "ID" => NULL,
        "AddDatum" => date("Y-m-d h:i:s"),
        "Code" => "PUBID".sprintf('%04d', $vve['id']),
        "Bedrijf" => $Bedrijf,
        "Contactpersoon" => $Contactpersoon
        )
    )
);
try {
    $response = $client->__soapCall("AddRelatie", $params);
}
catch (Exception $e){
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

我还尝试过将cRelatie嵌套在具有一个称为oRel的索引的数组中(请参阅WSDL),但这也不起作用。

错误: “捕获到的异常:服务器无法处理请求。--->对象引用未设置为对象的实例。”

这是WSDL的位置 https://soap.e-boekhouden.nl/soap.asmx?wsdl

1 个答案:

答案 0 :(得分:0)

使其正常工作: 有未记录的必填字段 而且日期不允许有时间,这与WSDL相反

$params = array( "input" => array(
    "SecurityCode2" => $SecurityCode2,
    "SessionID" => $SessionID,
    "oRel" => array(
        "ID" => 0,
        "Gb_ID" => 0,
        "GeenEmail" => 0,
        "NieuwsbriefgroepenCount" => 0,
        "AddDatum" => date("Y-m-d"),
        "Code" => "PUBID".sprintf('%04d', $vve['id']),
        "Bedrijf" => $Bedrijf,
        "Contactpersoon" => $Contactpersoon
    )
));