Я получаю следующее сообщение об ошибкеSaber - отель наличие API - Ошибка
<faultcode>soap-env:Client.InvalidSecurityToken</faultcode><faultstring>Invalid or Expired binary security token: null</faultstring><detail><StackTrace>com.sabre.universalservices.base.security.AuthenticationException: errors.session.USG_INVALID_SECURITY_TOKEN</StackTrace></detail></soap-env:Fault></soap-env:Body></soap-env:Envelope>
Ниже мой запрос на отели наличие API.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" SOAP-ENV:mustUnderstand="0">
<eb:From>
<eb:PartyId eb:type="urn:x12.org:IO5:01">client</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="urn:x12.org:IO5:01">ws</eb:PartyId>
</eb:To>
<eb:CPAId>'.$pcc.'</eb:CPAId>
<eb:ConversationId>YourConversationId</eb:ConversationId>
<eb:Service eb:type="sabreXML"></eb:Service>
<eb:Action>OTA_HotelAvailLLSRQ</eb:Action>
</eb:MessageHeader>
<Security xmlns:ns6="http://schemas.xmlsoap.org/ws/2002/12/secext" SOAP-ENV:mustUnderstand="0">
<BinarySecurityToken>'.$sabreKey.'</BinarySecurityToken>
</Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<eb:OTA_HotelAvailRQ xmlns:eb="http://webservices.sabre.com/sabreXML/2003/07" TimeStamp="2011-01-26T12:30:00-06:00" Version="1.10.1">
<eb:POS>
<eb:Source PseudoCityCode="'.$pcc.'" /></eb:POS>
<eb:AvailRequestSegments>
<eb:AvailRequestSegment>
<eb:StayDateRange Start="12-10" End="12-15" />
<eb:RoomStayCandidates>
<eb:RoomStayCandidate>
<eb:GuestCounts>
<eb:GuestCount Count="1" /></eb:GuestCounts>
</eb:RoomStayCandidate>
</eb:RoomStayCandidates>
<eb:HotelSearchCriteria xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="eb:HotelSearchCriteria_type0">
<eb:Criterion>
<eb:HotelRef HotelCityCode="DFW" /></eb:Criterion>
</eb:HotelSearchCriteria>
</eb:AvailRequestSegment>
</eb:AvailRequestSegments>
</eb:OTA_HotelAvailRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Это то, что я сделал, прежде чем обращаться в API доступности отеля. Я получил свой wsse: BinarySecurityToken из SessionCreateRQ хранит переменную, содержащую токен.
<BinarySecurityToken>'.$sabreKey.'</BinarySecurityToken>
Почему я получаю это сообщение об ошибке, мои учетные данные верны. BTW У меня есть производственные учетные данные.
Спасибо Я с нетерпением ждет некоторой помощи
Спасибо за ответ. Бруно. Оба запроса отправляются на одну и ту же конечную точку. Я понял, в чем проблема, не так ли. Я отправлю решение через пару минут, так как я уверен, что мое решение поможет многим людям, которые столкнутся с одной и той же проблемой в будущем. –