問候語stackoverflow。複雜的SOAP消息使用wsd2php生成的文件
我一直在擺弄關於使用PHP5的原生擴展SOAP客戶端。我嘗試創建的SOAP消息使用複雜的數據類型。
到目前爲止,我已經創建使用wsdl2php工具(http://www.urdalen.no/wsdl2php/)類文件。我已經成功創建了我的SOAP消息的一部分,但是,我確信我正在做這個錯誤。請看下面:
的消息,我想創建:
<soap:Envelope>
<soap:Body>
<OTA_HotelAvailRQ Version="1.0" AvailRatesOnly="true" TimeStamp="2010-10-06T16:14:26+08:00">
<POS>
<Source>
<RequestorID ID="test" Type="10"/>
</Source>
</POS>
<AvailRequestSegments>
<AvailRequestSegment AvailReqType="NonRoom">
<HotelSearchCriteria AvailableOnlyIndicator="1">
<Criterion>
<HotelRef HotelCode="PCBCMS"/>
<StayDateRange Start="2010-10-06" End="2010-11-06"/>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
</soap:Body>
</soap:Envelope>
用下面的代碼,我能夠產生消息的一部分,但是當涉及到:
// Hotel Availability
$qOTAhrq = new OTA_HotelAvailRQ();
$qOTAhrq->AvailRequestSegments['AvailRequestSegment'] = array('AvailReqType' => 'NonRoom');
$qOTAhrq->AvailRequestSegments['AvailRequestSegment']['HotelSearchCriteria'] = array();
$qOTAhrq->AvailRequestSegments['AvailRequestSegment']['HotelSearchCriteria']['Criterion'] = array();
以下消息是由上面的代碼生成的。怎麼回事錯:(
<ns1:AvailRequestSegments>
<ns1:AvailRequestSegment AvailReqType="NonRoom">
<ns1:HotelSearchCriteria/>
</ns1:AvailRequestSegment>
</ns1:AvailRequestSegments>
needs to be
<ns1:AvailRequestSegments>
<ns1:AvailRequestSegment AvailReqType="NonRoom">
<ns1:HotelSearchCriteria AvailOnlyIndicator="1"/>
</ns1:AvailRequestSegment>
</ns1:AvailRequestSegments>
希望我的問題是不夠廣泛瞭解什麼,我想要的目的。現在用我正確的方法制作我的XML SOAP消息或者我應該不會使用數組這樣?是有沒有辦法,我可以輸入類似:
$ qOTAhrq-> AvailRequestSegments-> AvailRequestSegment =陣列( 'AvailReqType =' nonRoom');
鏈接:我的類文件:wsdl class file (created by wsdl2php)
請幫助 - 也許我的朋友聖人將幫助別人的未來:)
你好槍手所以最好實際使用數組來創建soap消息,因爲wsdlclass.php文件中沒有任何內容支持即時消息試圖實現的內容? – goingsideways 2011-01-10 04:49:11