请求槽PHP Soap客户端返回500错误

时间:2019-02-23 11:20:40

标签: php xml soap soap-client

我正在使用php => 7的基本SOAP客户端向第三方Web服务发出请求。身份验证工作正常,我可以从中获取所有数据,但是无法请求发送一些数据。

所需的基本数据(以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()
    );
}

由于该请求返回诸如“内部服务器错误”之类的内部服务器错误消息,因此该请求始终最终在catch中。另外,当我添加ini_set('display_errors', 1); error_reporting(E_ALL);时,我不知道是什么原因。我希望我将所有基本需要的值发送给它。我希望有人可以帮助我。

更新:

当我像下面这样回应请求时,输出将是:

echo "REQUEST:\n" . $this->_SoapClient->__getLastRequest() . "\n";
  

请求:        someUernameSomePasswordMedewerkerTempAchternaamexampleinputEmailadresPriveemail@example.nlEmailadresWerkGeboorteDatum2002-05-30T09:30:?10.5GeboortenaamGeboortePlaatsexampleinputGeslachtManOpmerkingenInteressesOpmerkingenMotivatieOpmerkingenOpleidingOpmerkingenWerkervaringPlaatsexampleinputStraatInclNummerPostcodeRoepnaamHenkTelefoonVast010-123456789TelefoonMobielTelefoonWerkVoorlettersHVoorvoegselstest_InterneSollicitatiefalse_MobiliteitskandidaatfalseVacatureNummerBase64Decode_CVBase64Decode_MotivatiebriefBase64Decode_ExtraBijlageBestandsnaam_CVCVBestandsnaam_MotivatiebriefBestandsnaam_ExtraBijlage_OpenSollicitatietrueLinkedIn微_StopzettenJobalertfalse_LangereBewaartermijnAVGfalse

0 个答案:

没有答案