Bonjour à toutes Zé à tous,
Me voici confronté à un problème de soumission de requête à un WS et son passage de paramètre au travers d'un tableau PHP.
Voici ce que je dois envoyer :
Vous constaterez que je dois passer le paramètre refPersonneCreer deux, une fois pour le CONTRACT (contractant) et une fois pour le RESP (responsable).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://gdfsuez.com/bef/chp/calypso/demande/v3"> <soapenv:Header> </soapenv:Header> <soapenv:Body> <v3:creerDemande> <creerDemandeInput> <demande> <typeDemande> <code>ZMAS</code> </typeDemande> <statutDemande> <code>TERM</code> </statutDemande> <motifDemande> <code>VENTSNOR</code> </motifDemande> <texteLibreDemande>Souscription Dépannage Elec.</texteLibreDemande> <!-- client contractant et conseiller enregistrant --> <refPersonneCreer> <!-- BP client --> <idPersonne>300013432</idPersonne> <rolePersonne> <code>CONTRACT</code> </rolePersonne> </refPersonneCreer> <refPersonneCreer> <!-- BP conseiller --> <idPersonne>131805</idPersonne> <rolePersonne> <code>RESP</code> </rolePersonne> </refPersonneCreer> <prioriteDemande> <code>5</code> </prioriteDemande> <planificationDemandee>0</planificationDemandee> </demande> </creerDemandeInput> </v3:creerDemande> </soapenv:Body> </soapenv:Envelope>
Pour ça je créé mon tableau de paramètre de ma requête comme suit :
Mais vous constatez que la clé "refPersonneCreer" est présente deux fois et là ... PHP me fait la gueule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 $params=array('creerDemandeInput'=>array( 'demande'=>array( 'typeDemande'=>array( 'code'=>'ZMAS'), // Variable 'statutDemande'=>array( 'code'=>'TERM'), 'motifDemande'=>array( 'code'=>'VENTSNOR'), // Variable 'texteLibreDemande'=>'Souscription Dépannage Elec.', //libre 'refPersonneCreer'=>array( 'idPersonne'=>'300013432', // BP CLIENT 'rolePersonne'=>array( 'code'=>'CONTRACT')), 'refPersonneCreer'=>array( 'idPersonne'=>'131805', // BP CONSEILLER 'rolePersonne'=>array( 'code'=>'RESP')), 'prioriteDemande'=>array( 'code'=>5), 'planificationDemandee'=>0 ) ), 'context'=>array( 'version'=>'3.0', 'systemPath'=>array( 'system'=>array( 'systemId'=>'mop') ) ) );
Il me crée l'enveloppe suivante :
Qui ne contient que le second "refPersonneCreer" Logique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://gdfsuez.com/bef/chp/calypso/demande/v3"> <SOAP-ENV:Body> <ns1:creerDemande> <creerDemandeInput> <demande> <typeDemande> <code>ZMAS</code> </typeDemande> <statutDemande> <code>TERM</code> </statutDemande> <motifDemande> <code>VENTSNOR</code> </motifDemande> <texteLibreDemande>Souscription Dépannage Elec.</texteLibreDemande> <refPersonneCreer> <idPersonne>131805</idPersonne> <rolePersonne> <code>RESP</code> </rolePersonne> </refPersonneCreer> <prioriteDemande> <code>5</code> </prioriteDemande> <planificationDemandee>false</planificationDemandee> </demande> </creerDemandeInput> <context> <version>3.0</version> <systemPath> <system> <systemId>mop</systemId> </system> </systemPath> </context> </ns1:creerDemande> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Comment contourner ceci ?
J'ai essayer de mettre les deux "refPersonneCreer" dans des array indépendant mais le WS du coup ne les vois pas .
Si tu as eu la patience d'arriver jusqu'ici je te remercie !
Si tu as une piste ou mieux, une réponse il se peut que l'on devienne copain !!!
Partager