Я пытаюсь получить данные из SOAP API на сайте Wordpress. Я использую библиотеку PHP SoapClient.
За прошедшую неделю я изучал Интернет, пытаясь найти любое возможное решение этой проблемы, в том числе и другие библиотеки, но безуспешно. Я даже не дошел до того, что могу извлекать данные, я просто пытаюсь войти в этот сервис, который может подтвердить, что вход и другие функции работают через сторонние приложения.
Я также пытался реорганизовать свой код в его собственный класс и вызывать вещи таким образом, но возникают те же проблемы.
Я получаю одну и ту же ошибку обратно независимо от того, что я пытаюсь:
Fatal error: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object. at NjoynDataGateway.Login(String pr_UserName, String pr_Password, Boolean pr_AbortExistingSession) --- End of inner exception stack trace
Это код, который я использую:
$url = 'https://qa1.njoyn.com/CL4/net/WebService/NjoynDataExport.asmx?wsdl';
$username = 'username';
$password = 'password';
$abort_session = true;
$namespace = "http://njoyn.com/";
$soap_client = new SoapClient($url);
// Body of the Soap Header.
$headerbody = [
'pr_UserName' => $username,
'pr_Password' => $password,
];
// Create Soap Header.
$header = new SOAPHeader($namespace, 'AuthHeader', $headerbody);
$soap_client->__setSoapHeaders($header);
$result = $soap_client->__SoapCall('Login', [
'pr_UserName' => $username,
'pr_Password' => $password,
'pr_AbortExistingSession' => $abort_session,
]);
var_dump($result);
Ожидаемые результаты - это не ошибка с самого начала. Согласно их документации, метод входа должен возвращать true.