php - 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)...
解决方案
推荐阅读
- c - 为什么我不能在纯 C 中包含 AppKit,即使我可以自己声明函数?
- yaml - 在 Azure DevOps 上使用 YAML 有条件地声明变量组
- python - 从 .egg-info 名称中去除 python 版本
- javascript - 未在 react-native 中显示关键错误,创建自己的组件时
- java - 如何连接一定数量的数组?
- apache-spark - Bigquery“Getting IllegalArgumentException:Invalid Table ID”错误,同时使用查询将 bigquery 表的一部分读入 pyspark 数据帧
- roc - 如何设置 roc 曲线 pos_label !=0
- python - 如何保护烧瓶中的服务器端会话?
- macos - 无法从终端运行 curl SDK man 或 ruby
- flutter - 参数类型字符串?不能分配给参数类型“字符串”