2011-05-24 121 views
-1

SOAP请求我将如何创建一个数组这样的结构帮助创造PHP

很抱歉,但我知道如何发送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>[email protected]</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

回答

0

看看这里的文件是一个简单的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>"; 
} 

希望它会帮助你对你的方式前进。

+0

对不起,但我知道如何发送肥皂请求..我只是想确认我需要导致这样一个请求的属性 – 2011-05-24 07:34:46

+0

所以你真的想要做的是创建一个像这样的XML你发布了吗? – 2011-05-24 08:26:54