首页 > 解决方案 > How to send the correct params regarding the wsdl?

问题描述

I try to use a SOAP WS, but I don't really know what is the problem with what I am sending.

Here the wdsl: http://crm.mutuellebleue-services.com/crm_formation/ws/EDEALOpportunityExternalServices?wsdl I have tried to to send an array to the populatePersonsAndQuotations ($datas) function, but it seems that is not what it expected...

Here is the var_dump ($datas)

array(3) { ["person"]=> array(24) { ["dejaClient"]=> bool(false) ["perALD"]=> bool(false) ["perTypeCode"]=> string(8) "PROSPECT" ["perCivCode"]=> string(0) "" ["perName"]=> string(8) "DU" ["perFstName"]=> string(7) "AURELIE" ["perDateNaissance"]=> string(10) "12/11/1981" ["perProfession"]=> string(2) "NN" ["perAdresse1"]=> string(0) "" ["perAdresse2"]=> string(0) "" ["perAdresse3"]=> string(0) "" ["perAdresse4"]=> string(0) "" ["perZip"]=> string(5) "77820" ["perCity"]=> string(0) "" ["perPhone"]=> string(10) "0680001200" ["perMobile"]=> string(0) "" ["perMoins29"]=> bool(false) ["perRegimeCode"]=> string(2) "01" ["perNumClient"]=> string(0) "" ["perMail"]=> string(29) "email@domain.com" ["perOptIn"]=> bool(false) ["perOptInCodeQuestion"]=> string(7) "OPTIN01" ["perRgpd"]=> bool(true) ["perRgpdCodeQuestion"]=> string(6) "RGPD01" } ["grantees"]=> array(2) { [0]=> array(11) { ["perTypeCode"]=> string(8) "PROSPECT" ["perCivCode"]=> string(0) "" ["perName"]=> string(8) "DU" ["perFstName"]=> string(16) "DU_PRENOM1" ["perDateNaissance"]=> string(10) "20/05/1971" ["perProfession"]=> string(2) "NN" ["perRegimeCode"]=> string(2) "01" ["perALD"]=> bool(false) ["perMoins29"]=> bool(false) ["codeTypeLien"]=> string(3) "CJT" ["ACreer"]=> bool(true) } [1]=> array(11) { ["perTypeCode"]=> string(8) "PROSPECT" ["perCivCode"]=> string(0) "" ["perName"]=> string(8) "DU" ["perFstName"]=> string(16) "DU_PRENOM2" ["perDateNaissance"]=> string(10) "15/03/2003" ["perProfession"]=> string(2) "NN" ["perRegimeCode"]=> string(2) "01" ["perALD"]=> bool(false) ["perMoins29"]=> bool(true) ["codeTypeLien"]=> string(3) "PAR" ["ACreer"]=> bool(true) } } ["need"]=> array(7) { ["ACreer"]=> bool(true) ["number"]=> string(10) "WS20000606" ["actionCode"]=> string(7) "0CIWS77" ["courtierSourceSystemCode"]=> string(3) "WEB" ["enterpriseSourceSystemCode"]=> string(3) "WEB" ["notes"]=> string(0) "" ["domains"]=> array(1) { [0]=> array(3) { ["domainCode"]=> string(5) "SANTE" ["gammeCode"]=> string(6) "MB_PES" ["quotes"]=> array(1) { [0]=> array(7) { ["quoteNumber"]=> string(10) "WS20000606" ["quoteCreationDate"]=> string(10) "08/06/2020" ["dateEffet"]=> string(10) "01/07/2020" ["quoteCounselor"]=> string(9) "AREPARTIR" ["quoteStatus"]=> string(7) "ENCOURS" ["actionCode"]=> string(7) "0CIWS77" ["proposals"]=> array(4) { [0]=> array(5) { ["proposalNumber"]=> int(1) ["proposalProductCode"]=> string(4) "PES4" ["proposalTerm"]=> string(5) "61.04" ["proposalLinkCode"]=> string(0) "" ["proposalPersonID"]=> string(27) "DU|AURELIE|12/11/1981" } [1]=> array(5) { ["proposalNumber"]=> int(2) ["proposalProductCode"]=> string(12) "PES_MOD_HOSP" ["proposalTerm"]=> string(1) "2" ["proposalLinkCode"]=> string(0) "" ["proposalPersonID"]=> string(27) "DUBORPER|AURELIE|12/11/1981" } [2]=> array(5) { ["proposalNumber"]=> int(3) ["proposalProductCode"]=> string(4) "PES4" ["proposalTerm"]=> string(5) "78.12" ["proposalLinkCode"]=> string(3) "CJT" ["proposalPersonID"]=> string(36) "DU|DU_PRENOM1|20/05/1971" } [3]=> array(5) { ["proposalNumber"]=> int(4) ["proposalProductCode"]=> string(4) "PES4" ["proposalTerm"]=> string(5) "29.13" ["proposalLinkCode"]=> string(3) "ENF" ["proposalPersonID"]=> string(36) "DU|DU_PRENOM2|15/03/2003" } } } } } } } } 

Do you understand how to pass the datas to the function regarding the WSDL?

If I send only directly the "person" array, like this:

array(24) { ["dejaClient"]=> bool(false) ["perALD"]=> bool(false) ["perTypeCode"]=> string(8) "PROSPECT" ["perCivCode"]=> string(0) "" ["perName"]=> string(8) "DU" ["perFstName"]=> string(7) "AURELIE" ["perDateNaissance"]=> string(10) "12/11/1981" ["perProfession"]=> string(2) "NN" ["perAdresse1"]=> string(0) "" ["perAdresse2"]=> string(0) "" ["perAdresse3"]=> string(0) "" ["perAdresse4"]=> string(0) "" ["perZip"]=> string(5) "77820" ["perCity"]=> string(0) "" ["perPhone"]=> string(10) "0680001200" ["perMobile"]=> string(0) "" ["perMoins29"]=> bool(false) ["perRegimeCode"]=> string(2) "01" ["perNumClient"]=> string(0) "" ["perMail"]=> string(29) "email@domain.fr" ["perOptIn"]=> bool(false) ["perOptInCodeQuestion"]=> string(7) "OPTIN01" ["perRgpd"]=> bool(true) ["perRgpdCodeQuestion"]=> string(6) "RGPD01" }

It works... Here the SOAP getLastRequest():

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://edealws.mutbleue.com"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
        <ns1:populatePersonsAndQuotations>
            <person>
                <ns1:dejaClient></ns1:dejaClient>
                <ns1:perALD>false</ns1:perALD>
                <ns1:perAdresse1></ns1:perAdresse1>
                <ns1:perAdresse2></ns1:perAdresse2>
                <ns1:perAdresse3></ns1:perAdresse3>
                <ns1:perAdresse4></ns1:perAdresse4>
                <ns1:perCity></ns1:perCity>
                <ns1:perCivCode></ns1:perCivCode>
                <ns1:perCodeJeux xsi:nil="true"/>
                <ns1:perCodeLot xsi:nil="true"/>
                <ns1:perDateNaissance>12/11/1981</ns1:perDateNaissance>
                <ns1:perFstName>AURELIE</ns1:perFstName>
                <ns1:perMail>aurelie.duborper@eficiens.com</ns1:perMail>
                <ns1:perMobile></ns1:perMobile>
                <ns1:perMoins29>false</ns1:perMoins29>
                <ns1:perName>DUBORPER</ns1:perName>
                <ns1:perNumClient></ns1:perNumClient>
                <ns1:perOptIn>false</ns1:perOptIn>
                <ns1:perOptinCodeQuestion xsi:nil="true"/>
                <ns1:perPhone>0680001200</ns1:perPhone>
                <ns1:perProfession>NN</ns1:perProfession>
                <ns1:perRegimeCode>01</ns1:perRegimeCode>
                <ns1:perRgpd>true</ns1:perRgpd>
                <ns1:perRgpdCodeQuestion>RGPD01</ns1:perRgpdCodeQuestion>
                <ns1:perTypeCode>PROSPECT</ns1:perTypeCode>
                <ns1:perZip>77820</ns1:perZip>
            </person>
            <grantees/>
            <need/>
        </ns1:populatePersonsAndQuotations>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

But I don't know how to send the other information (Term Grantees, Term Need)...

标签: phpsoapwsdl

解决方案


推荐阅读