PHP Soap «Поймано исключение: серверу не удалось обработать запрос. ---> Ссылка на объект не установлена ​​для экземпляра объекта». - PullRequest
0 голосов
/ 13 сентября 2018

Поскольку ошибки 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 голосов
/ 13 сентября 2018

Все заработало: там, где недокументированные обязательные поля и дата не имели времени, в отличие от 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
    )
));
...