Вот как должен выглядеть мой запрос в формате XML:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ns="http://www.juniper.es/webservice/2007/"> <soap:Header/> <soap:Body> <ns:HotelList> <ns:HotelListRQ Version="1.1" Language="en"> <Login Password="pass" Email="me@mydomain"/> <ns:HotelListRequest ZoneCode="12345"> </ns:HotelListRQ> </ns:HotelList> </soap:Body> </soap:Envelope>
Вот моя попытка передать следующий массив в качестве второго параметра в __soapCall(). Документы здесь: https://www.php.net/manual/en/soapclient.soapcall.php
__soapCall()
$argument = ["body" => ["HotelList" => ["HotelListRQ" => ["Login" => ["password" => "pass", "email" => "me@mydomain"], ["HotelListRequest" => ["ZoneCode" => $zoneCode]], ], ], ];
Но полученный запрос - беспорядок, см. Здесь:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://xml-uat.bookingengine.es/webservice/JP/WebServiceJP.asmx?WSDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:HotelList> <param0 xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">HotelList</key> <value xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">HotelListRQ</key> <value xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">Login</key> <value xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">email</key> <value xsi:type="xsd:string">me@mydomain</value> </item> <item> <key xsi:type="xsd:string">password</key> <value xsi:type="xsd:string">pass</value> </item> </value> </item> </value> </item> <item> <key xsi:type="xsd:int">0</key> <value xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">HotelListRequest</key> <value xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">ZoneCode</key> <value xsi:type="xsd:int">12345</value> </item> </value> </item> </value> </item> </value> </item> </param0> </ns1:HotelList> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Как правильно построить этот запрос в виде массива?