Bonjour,
Je n'arrive pas à envoyer un tableau de classe via SOAP en PHP, voici la déclaration WSDL, qui ne m'appartient pas, et que je ne peux absolument pas modifier.
voici ma définition php
et voici ce que SOAP me génère.
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 $params = new stdClass(); $params->loginInfo = new stdClass(); $params->loginInfo->UserName = 'yonia'; $params->loginInfo->Password = 'yonia3'; $params->loginInfo->LanguageCode = 'en'; $params->reservation = new stdClass(); $params->reservation->EmailRecipient2 = 'yonia@yopmail.com'; $params->reservation->EmailRecipient3 = 'yonia2@yopmail.com'; $params->reservation->FirstName = 'Yoni' foreach($extras as $id=>$extra) { $params->Extras[$id]= new stdClass(); $params->Extras[$id]->SelectedExtra = new stdClass(); $params->Extras[$id]->ExtensionData = new stdClass(); $params->Extras[$id]->SelectedExtra->Amount = 1; $params->Extras[$id]->SelectedExtra->ID = $extra; }
Comment faire pour que je puisse envoyer de manière correcte les infos décrites dans la classe Extra
Comment dois-je générer ma classe Extras pour qu'elle sois pris en compte par ma définition WSDL ?
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<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"> <SOAP-ENV:Body> <ns1:CreateReservation> <ns1:loginInfo> <ns1:UserName>monusername</ns1:UserName> <ns1:Password>monpass</ns1:Password> <ns1:LanguageCode>en</ns1:LanguageCode> </ns1:loginInfo> <ns1:reservation> <ns1:EmailRecipient2>yonia@yopmail.com</ns1:EmailRecipient2> <ns1:EmailRecipient3>yonia2@yopmail.com</ns1:EmailRecipient3> <ns1:FirstName>Yoni</ns1:FirstName> </ns1:reservation> </ns1:CreateReservation> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Merci d'avance pour votre aide
Cordialement,
Partager