2009-04-22 9 views
2

申し訳ありませんが、この特定のWebサービスを実行している人からの愛はありません。私はかつてSOAPを使用したことはありません。特定のサービスに対してPHPを使用してSOAPメソッドを呼び出す

Here's the method I'm trying to call

そして、ここで私が

public function soapTest(){ 

      echo "start <br />"; 
      use_soap_error_handler(true); 
      $client = new SoapClient("https://cwi.rezexchange.com:9991/?wsdl"); 

       // here's the problem. What goes in the parenthesis? 
      $result = $client->CwiRateDetails(????); 

      echo($result); 
      echo "<br /> end"; 

     } 

は、今私は括弧が含まれている必要があり何、これは私に語っ推測して動作するはずと思っていたコードです。

POST /Service.asmx HTTP/1.1 
Host: cwi.rezexchange.com 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 
SOAPAction: "http://hotelconcepts.com/CwiRateDetails" 

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <CwiRateDetails xmlns="http://hotelconcepts.com/"> 
     <PropertyCode>string</PropertyCode> 
     <DateFrom>dateTime</DateFrom> 
     <DateTo>dateTime</DateTo> 
     <RatePlan>string</RatePlan> 
     <RoomType>string</RoomType> 
     <PromotionalRates>boolean</PromotionalRates> 
    </CwiRateDetails> 
    </soap:Body> 
</soap:Envelope> 

私の推測では、

$result = $client->CwiRateDetails($PCode, $DateFrom, $DateTo, $RatePlan, $RoomType, false); 

のようなものが動作しなければならないことです。しかし、私は、日付の形式が何であるか、部屋の種類や料金プランの参照方法がわかりません。

今すぐ。私は彼らと一緒に電子メールを介して猿バカナの嫌がらせをする前に、私は彼らが私に与えるために必要な情報がたくさんあると思って間違っていますか?あるいは、どこからでもその情報を取得するために使用できるSOAPトリッキーがありますか?

答えて

5

あなたはXMLスキーマ仕様に従ってDateFromDateToであなたの日付時刻値をシリアル化する必要があるとPromotionalRatesのboolean値よ

$result = $client->CwiRateDetails(array(
    'PropertyCode'  => ..., 
    'DateFrom'   => ..., 
    'DateTo'   => ..., 
    'RatePlan'   => ..., 
    'RoomType'   => ..., 
    'PromotionalRates' => ..., 
)); 

をお試しください:

  • booleantrue = 'true'または1false = 'false'または0
  • dateTimeYYYY-MM-DDThh:mm:ssUTCの場合、またはYYYY-MM-DD T(タイムゾーン情報を含む)。タイムゾーン情報はオプションです
0

Usualyそれはそう、それはあなたがすべてのの詳細を見ることができます

$client->CwiRateDetails(array("PropertyCode"=>"sdsd","DateFrom"=>"",......)) 

ようなものになるだろうCwiRateDetails

ためDateToなど、キーはあなたが説明に見つけるの分野、すなわちPropertyCode、DateFromある連想配列ですこのページのメソッド:https://cwi.rezexchange.com:9991/プロシージャの名前をクリックすると、パラメータが表示され、それが応答します。

1

日付形式は実際にはdateTime(SOAP形式の種類)です。私は時間()(または何でも)をSOAP :: dateTimeフィールドに変換するインターネット上の例があると確信しています。

あなたが接続する必要がある情報はすべてそこにあります。多分あなたは最初にウェブサービスを読むべきですか?

0

あなたは間違っていません、IMO。必要な情報を得るためには、他のSOAP呼び出しが必要です。 List Rate Typesを見ましたか?メソッドのリストはどうですか?here

関連する問題