【发布时间】:2013-11-21 10:17:04
【问题描述】:
我有一个在线信任联盟 xsd,我想用 php soap 客户端解析它。 我可以使用
为普通 xml 结构生成肥皂参数`$params['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment ']['Criterion ']['ChainCode'] = $chain_code`;
但是我如何为这个 OTA 标准 xsds 生成参数 见下面的例子:
<OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" AvailRatesOnly="true" EchoToken="Single" ExactMatchOnly="true" PrimaryLangID="EN" RateDetailsInd="true" RateRangeOnly="true" RequestedCurrency="GBP" SummaryOnly="true" Version="6.000" OnRequestInd="true">
<AvailRequestSegments>
<AvailRequestSegment InfoSource="Distribution">
<HotelSearchCriteria AvailableOnlyIndicator="true">
<Criterion ExactMatch="true">
<HotelRef ChainCode="CH" HotelCityCode="HCC" HotelCode="CHHCC"></HotelRef>
<StayDateRange Start="2013-12-20" End="2013-12-25"/>
<RoomStayCandidates>
<RoomStayCandidate Quantity="2">
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="2"/>
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
我只需要一些指导。
【问题讨论】:
-
您发现更复杂的请求有什么问题?
-
如果您看到该属性在模式
内。当我创建参数时,它会生成像 这样的 xmltrue cator> -
好的,那么问题是如何生成属性而不是子元素?您是使用 WSDL 初始化 SOAPClient,还是仅将端点和操作定义为直接选项?
-
是的,更多的是如何生成属性。是的,使用 wsdl 初始化肥皂客户端。
-
是的,没错,我无法生成属性,因为某些元素有多个属性。是的,soapClient 使用 WSDL 初始化,其中 WSDL 文件具有对模式文件的所有引用。
标签: php xml web-services soap ota