Я использую базовый SOAP-клиент php => 7 для отправки запроса в сторонний веб-сервис.Аутентификация работает нормально, и я могу получить все данные из нее, но не могу сделать запрос на отправку некоторых данных.
Базовые данные (в формате xml), в которых они нуждаются:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:day="https://daywize.mendixcloud.com">
<soapenv:Header>
<day:authentication>
<username>someusername</username>
<password>somepassword</password>
</day:authentication>
</soapenv:Header>
<soapenv:Body>
<day:SollicitatieWebservicesVerwerken>
<MedewerkerTemp>
<Achternaam>exampleinput</Achternaam>
<EmailadresPrive>email@example.nl</EmailadresPrive>
<EmailadresWerk></EmailadresWerk>
<GeboorteDatum>2002-05-30T09:30:10.5</GeboorteDatum>
<Geboortenaam></Geboortenaam>
<GeboortePlaats>exampleinput</GeboortePlaats>
<Geslacht>Man</Geslacht>
<OpmerkingenInteresses></OpmerkingenInteresses>
<OpmerkingenMotivatie></OpmerkingenMotivatie>
<OpmerkingenOpleiding></OpmerkingenOpleiding>
<OpmerkingenWerkervaring></OpmerkingenWerkervaring>
<Plaats>exampleinput</Plaats>
<StraatInclNummer></StraatInclNummer>
<Postcode></Postcode>
<Roepnaam>Henk</Roepnaam>
<TelefoonVast>010-123456789</TelefoonVast>
<TelefoonMobiel></TelefoonMobiel>
<TelefoonWerk></TelefoonWerk>
<Voorletters>H</Voorletters>
<Voorvoegsels></Voorvoegsels>
<_InterneSollicitatie>false</_InterneSollicitatie>
<_Mobiliteitskandidaat>false</_Mobiliteitskandidaat>
<VacatureNummer></VacatureNummer>
<Base64Decode_CV></Base64Decode_CV>
<Base64Decode_Motivatiebrief></Base64Decode_Motivatiebrief>
<Base64Decode_ExtraBijlage></Base64Decode_ExtraBijlage>
<Bestandsnaam_CV>CV</Bestandsnaam_CV>
<Bestandsnaam_Motivatiebrief></Bestandsnaam_Motivatiebrief>
<Bestandsnaam_ExtraBijlage></Bestandsnaam_ExtraBijlage>
<_OpenSollicitatie>true</_OpenSollicitatie>
<LinkedIn>?</LinkedIn>
<Twitter>?</Twitter>
<_StopzettenJobalert>false</_StopzettenJobalert>
<_LangereBewaartermijnAVG>false</_LangereBewaartermijnAVG>
</MedewerkerTemp>
</day:SollicitatieWebservicesVerwerken>
</soapenv:Body>
</soapenv:Envelope>
Запрос SOAP, который я делаю к серверу, выглядит следующим образом:
try {
$this->_SoapClient->webserviceFunctionName([
'MedewerkerTemp' => [
'Achternaam' => 'exampleinput',
'EmailadresPrive' => 'email@example.nl',
'EmailadresWerk' => '',
'GeboorteDatum' => '2002-05-30T09:30:10.5',
'Geboortenaam' => '',
'GeboortePlaats' => 'exampleinput',
'Geslacht' => 'Man',
'OpmerkingenInteresses' => '',
'OpmerkingenMotivatie' => '',
'OpmerkingenOpleiding' => '',
'OpmerkingenWerkervaring' => '',
'Plaats' => 'exampleinput',
'StraatInclNummer' => '',
'Postcode' => '',
'Roepnaam' => 'Henk',
'TelefoonVast' => '010-123456789',
'TelefoonMobiel' => '',
'TelefoonWerk' => '',
'Voorletters' => 'H',
'Voorvoegsels' => 'test',
'_InterneSollicitatie' => false,
'_Mobiliteitskandidaat' => false,
'VacatureNummer' => '',
'Base64Decode_CV' => '',
'Base64Decode_Motivatiebrief' => '',
'Base64Decode_ExtraBijlage' => '',
'Bestandsnaam_CV' => 'CV',
'Bestandsnaam_Motivatiebrief' => '',
'Bestandsnaam_ExtraBijlage' => '',
'_OpenSollicitatie' => true,
'LinkedIn' => '?',
'Twitter' => '?',
'_StopzettenJobalert' => false,
'_LangereBewaartermijnAVG' => false
],
]);
} catch (Exception $e) {
var_dump(
$e->getMessage(),
$this->_SoapClient->__getLastRequest(),
$this->_SoapClient->__getLastResponse()
);
}
запрос всегда заканчивается внутри перехвата, потому что запрос возвращает внутреннее сообщение об ошибке сервера, например «Внутренняя ошибка сервера».Также, когда я добавляю ini_set('display_errors', 1); error_reporting(E_ALL);
, я не могу понять, в чем причина.Я ожидаю, что я отправлю все основные необходимые значения для него.Я надеюсь, что кто-то может помочь мне с этим.
Обновление:
Когда я повторяю запрос, подобный приведенному ниже, вывод будет:
echo "REQUEST:\n" . $this->_SoapClient->__getLastRequest() . "\n";
ЗАПРОС: someUernameSomePasswordMedewerkerTempAchternaamexampleinputEmailadresPriveemail @ пример.nlEmailadresWerkGeboorteDatum2002-05-30T09: 30:? 10.5GeboortenaamGeboortePlaatsexampleinputGeslachtManOpmerkingenInteressesOpmerkingenMotivatieOpmerkingenOpleidingOpmerkingenWerkervaringPlaatsexampleinputStraatInclNummerPostcodeRoepnaamHenkTelefoonVast010-123456789TelefoonMobielTelefoonWerkVoorlettersHVoorvoegselstest_InterneSollicitatiefalse_MobiliteitskandidaatfalseVacatureNummerBase64Decode_CVBase64Decode_MotivatiebriefBase64Decode_ExtraBijlageBestandsnaam_CVCVBestandsnaam_MotivatiebriefBestandsnaam_ExtraBijlage_OpenSollicitatietrueLinkedIn Twitter _StopzettenJobalertfalse_LangereBewaartermijnAVGfalse
1021 *