#php #soap
#php #soap
Вопрос:
как мне создать массив для такой структуры
Извините, но я знаю, как отправить запрос soap [php.net ].. Я просто хочу подтвердить структуру массива, которая мне нужна, чтобы привести к такому запросу с пользовательскими атрибутами
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Header>
<m:AuthenticationInfo xmlns:m="https://xml.hotelclub.net/xmlws/services/v2/">
<m:AffiliateID>xxx</m:AffiliateID>
<m:Password>xxx</m:Password>
<m:ClientIP>xxx</m:ClientIP>
</m:AuthenticationInfo>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:HotelBookingRequest xmlns:m="https://xml.hotelclub.net/xmlws/services/v2/" Version="2" LanguageCode="EN" CurrencyCode="AUD" AffiliateUniqueID="Rodel9">
<m:StayDateRange CheckIn="2011-03-28" CheckOut="2011-03-29" ArrivalTime="12"/>
<m:Hotel ID="54"></m:Hotel>
<m:ItemsRequest>
<m:ItemRequest Type="Room" QuantityRequired="1"
NumberOfAdults="1"
NumberOfChildren="0"
Code="117;54;45877">
<m:Guests>
<m:Guest IsChild="false">
<m:FirstName>Rodel</m:FirstName>
<m:LastName>Surat</m:LastName>
</m:Guest>
</m:Guests>
</m:ItemRequest>
</m:ItemsRequest>
<m:GuestRequest SmokingPreference="NoPreference" BabyCot="false" LateCheckIn="false"></m:GuestRequest>
<m:MainGuest IsMainGuest="true" IsChild="false">
<m:FirstName>Rodel</m:FirstName>
<m:LastName>Surat</m:LastName>
<m:Address>
<m:Country ID="3"/>
<m:Telephone>123456789</m:Telephone>
</m:Address>
<m:EmailAddress>rodel.surat@hotelclub.com</m:EmailAddress>
</m:MainGuest>
<m:PaymentDetail ItineraryTotalAmount="520">
<m:CreditCardDetail SerialCode="XXX" CardType="VSA" CardNumber=" XXXXXXXXXXXXXXXX" ExpiryDate="0811">
<m:CardHolderName>Rodel Surat</m:CardHolderName>
<m:Address>
<m:AddressLine>680 George St</m:AddressLine>
<m:City Name="Sydney" />
<m:State>NSW</m:State>
<m:Country ID="3" />
<m:Postcode>2000</m:Postcode>
</m:Address>
</m:CreditCardDetail>
</m:PaymentDetail>
</m:HotelBookingRequest>
</SOAP-ENV:Body>
а затем отправьте его как soap-запрос . я абсолютно новичок в SOAP на PHP
Ответ №1:
Ознакомьтесь с документацией по адресу http://php.net/manual/en/book.soap.php
Ответ №2:
Вот простой тест службы wcf, который я собрал
/* Default location of WSDL Service (if used) */
define("DEFAULT_WSDL", "http://yourserver.com/Yoursvc.svc?wsdl");
/* Misc WSDL settings */
define("WSDL_SOAP_VERSION", SOAP_1_1);
define("WSDL_EXCEPTIONS", true);
define("WSDL_TRACE", 1);
/** Methods below **/
function testWcf() {
try {
$wsdloptions = array(
'soap_version' => constant('WSDL_SOAP_VERSION'),
'exceptions' => constant('WSDL_EXCEPTIONS'),
'trace' => constant('WSDL_TRACE')
);
$client = new SoapClient(constant('DEFAULT_WSDL'), $wsdloptions);
pr($client->__getFunctions());
pr($client->__getTypes());
} catch (Exception $exc) {
echo $exc->getTraceAsString();
}
}
function pr($array) {
echo "<xmp>";
print_r($array);
echo "</xmp>";
}
Надеюсь, это поможет вам на вашем пути вперед.
Комментарии:
1. Извините, но я знаю, как отправить запрос soap.. Я просто хочу подтвердить структуру массива, которая мне нужна, чтобы привести к такому запросу с атрибутами
2. Итак, что вы на самом деле хотите сделать, это создать xml, подобный тому, который вы опубликовали?