how do I extract xml document from a plsql using select xmltable passing columns
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<Response xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<Header xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<MessageID xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">2600</MessageID>
<RelatesTo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">12033428</RelatesTo>
</Header>
<Result xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<ResultCode xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">0</ResultCode>
<ResultMsgCode xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">Success</ResultMsgCode>
<ResultMsg xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">Success</ResultMsg>
</Result>
<Payload xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<SubmitShipmentResult xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<ReferenceNumber xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">01523</ReferenceNumber>
<DeliveryTrackingNumber xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">01753077</DeliveryTrackingNumber>
<LoggingDetails xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<LoggingDetail xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<Code xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">0</Code>
<Message xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">Message is rightly processed</Message>
</LoggingDetail>
</LoggingDetails>
<ShpUnits xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<ShpUnit xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<RefNo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">1523_0001</RefNo>
<ExtRefNo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">01753194</ExtRefNo>
</ShpUnit>
<ShpUnit xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<RefNo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">1523_0002</RefNo>
<ExtRefNo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">01753195</ExtRefNo>
</ShpUnit>
<ShpUnit xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">
<RefNo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">1523_0003</RefNo>
<ExtRefNo xmlns="http://Spv.co.za/schemas/CreateCashup/DataModel/Schema.xsd">01753196</ExtRefNo>
</ShpUnit>
</ShpUnits>
</SubmitShipmentResult>
</Payload>
</Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
select xt.*
from t_xml x, XMLtable('/Envelope/Body/Response/Payload/SubmitShipmentResult'
passing x.COL_XML
COLUMNS "RefNumber" Varchar2(30) PATH 'ReferenceNumber',
"DelTrackNumber" Varchar2(30) PATH 'DeliveryTrackingNumber') Xt ;
Related
I'm trying make a search in one particular PCC and then jump to another PCC which is Change AAA before EnhancedAirBook.
searching (Bargin Finder Max-BFM) from one particular PCC and jump in 'AAA' - ChangeContext to other PCC before booking - (EnhancedAirBook) & issuing ticket(AirTicket)
We already have the permission granted to jump in between the PCC's from Sabre.
I tried Change AAA - ChangeContext before booking - (EnhancedAirBook) but the service is failing with an error
Below are the request & response.
Request
`<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<m:MessageHeader xmlns:m="http://www.ebxml.org/namespaces/messageHeader">
<m:From>
<m:PartyId type="urn:x12.org:IO5:01">info#test.com</m:PartyId>
</m:From>
<m:To>
<m:PartyId type="urn:x12.org:IO5:01">webservices3.sabre.com</m:PartyId>
</m:To>
<m:CPAId>YYYY</m:CPAId>
<m:ConversationId>1555434991</m:ConversationId>
<m:Service m:type="OTA">ContextChangeLLSRQ</m:Service>
<m:Action>ContextChangeLLSRQ</m:Action>
<m:MessageData>
<m:MessageId>mid:1555434991</m:MessageId>
<m:Timestamp>2019-04-16T17-16-31Z</m:Timestamp>
<m:TimeToLive>2019-04-16T17-16-31Z</m:TimeToLive>
</m:MessageData>
<m:DuplicateElimination />
<m:Description>ContextChangeLLSRQ</m:Description>
</m:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESF!ICESMSL</wsse:BinarySecurityToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ContextChangeRQ Version="2.0.3">
<ChangeAAA PseudoCityCode="xxxx" />
</ContextChangeRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>`
Response
`<?xml version="1.0" encoding="UTF-8"?>
<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" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">webservices3.sabre.com</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">info#test.com</eb:PartyId>
</eb:To>
<eb:CPAId>YYYY</eb:CPAId>
<eb:ConversationId>1555434991</eb:ConversationId>
<eb:Service eb:type="OTA">ContextChangeLLSRQ</eb:Service>
<eb:Action>ContextChangeLLSRS</eb:Action>
<eb:MessageData>
<eb:MessageId>9418687622788650624</eb:MessageId>
<eb:Timestamp>2019-04-16T17:17:59</eb:Timestamp>
<eb:RefToMessageId>mid:1555434991</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESF!ICESMSLB</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<soap-env:Fault>
<faultcode>soap-env:Client.Validation</faultcode>
<faultstring>ERR.SWS.CLIENT.VALIDATION_FAILED</faultstring>
<detail>
<stl:ApplicationResults xmlns:stl="http://services.sabre.com/STL/v01" status="NotProcessed">
<stl:Error timeStamp="2019-04-16T12:17:59-05:00" type="Validation">
<stl:SystemSpecificResults>
<stl:Message>cvc-elt.1: Cannot find the declaration of element 'ContextChangeRQ'.</stl:Message>
<stl:ShortText>ERR.SWS.CLIENT.VALIDATION_FAILED</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>`
Your missing with the namespace xmlns="http://webservices.sabre.com/sabreXML/2011/10"
<soap:Body>
<ContextChangeRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" ReturnHostCommand="true" Version="2.0.3">
<ChangeAAA PseudoCityCode="xxxx"/>
</ContextChangeRQ>
</soap:Body>
I try to changeAAA but response
<Message>?FORMAT?</Message>
<ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</ShortText>
bellow RQ
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:mes="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns="http://www.opentravel.org/OTA/2002/11">
<soapenv:Header>
<sec:Security>
<sec:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!1575253138274!5391!13</sec:BinarySecurityToken>
</sec:Security>
<mes:MessageHeader mes:id="?" mes:version="?">
<mes:From>
<mes:PartyId >WebServiceClient</mes:PartyId>
</mes:From>
<mes:To>
<mes:PartyId >WebServiceSupplier</mes:PartyId>
</mes:To>
<mes:CPAId>VN</mes:CPAId>
<mes:ConversationId>fOV1LWT3EJIUnGC0Yh1</mes:ConversationId>
<mes:Service ></mes:Service>
<mes:Action>ContextChangeLLSRQ</mes:Action>
<mes:MessageData>
<mes:MessageId>mid:20001209-133003-2333#clientofsabre.com1</mes:MessageId>
<mes:Timestamp>2019-06-15</mes:Timestamp>
</mes:MessageData>
</mes:MessageHeader>
</soapenv:Header>
<soapenv:Body>
<ContextChangeRQ Version="2.0.3" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ChangeAAA PseudoCityCode="xxxx"/>
</ContextChangeRQ>
</soapenv:Body>
</soapenv:Envelope>
request-
<soapenv:Body>
<ns:TravelItineraryModifyInfoRQ Version="2.1.1">
<ns:CustomerInfo>
<ns:CustLoyalty MembershipID="520000001221" NameNumber="02.01"
ProgramID="EY" RPH="1" />
</ns:CustomerInfo>
</ns:TravelItineraryModifyInfoRQ>
</soapenv:Body>
response-
<soap-env:Body>
<TravelItineraryModifyInfoRS Version="2.1.1"
xmlns="http://webservices.sabre.com/sabreXML/2011/10"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:stl="http://services.sabre.com/STL/v01">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2018-04-20T13:13:39-
05:00">
<stl:SystemSpecificResults>
<stl:Message>.EY/EY FQTV DATA EXISTS FOR THIS PASSENGER.SEE
ITEM 02</stl:Message>
<stl:Message>.ENTRY NOT PROCESSED BEGINNING WITH</stl:Message>
<stl:Message>FF1¤EY100014486283-02.01</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</TravelItineraryModifyInfoRS>
</soap-env:Body>
Is modification not allowed on membership id.
http://webservices.sabre.com/drc/servicedoc/TravelItineraryAddInfoLLSRQ_v2.2.0_Sample_Payloads.xml
Seems it can be.
It would appear that the FF data for passenger 02.01 is stored in RPH2, and you're attempting to modify 1, while the passenger's data is still in RPH2.
Try modifying the request to RPH 2:
<soapenv:Body>
<ns:TravelItineraryModifyInfoRQ Version="2.1.1">
<ns:CustomerInfo>
<ns:CustLoyalty MembershipID="520000001221" NameNumber="02.01"
ProgramID="EY" RPH="2" />
</ns:CustomerInfo>
</ns:TravelItineraryModifyInfoRQ>
</soapenv:Body>
Below is sample request I made, and below is the response I'm getting.
If you can post sample SpecialServiceRq OSI entry request and response sample that would help a lot.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<SpecialServiceRQ ReturnHostCommand="false" TimeStamp="2018-03-05T19:02:32.219-05:00" Version="2.2.1" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:ns2="http://services.sabre.com/STL/v01">
<SpecialServiceInfo>
<SecureFlight SegmentNumber="A">
<PersonName DateOfBirth="1969-02-25" Gender="M" NameNumber="1.1">
<GivenName>LIAM</GivenName>
<Surname>JACKSON</Surname>
</PersonName>
</SecureFlight>
<Service SSR_Code="OSI">
<Text>CTCE/ACCEPT//TEST.CORP.COMPANY.COM</Text>
</Service>
</SpecialServiceInfo>
</SpecialServiceRQ>]
[03-05-18 19:02:32.462] [SplitAgentBooker_10009498321_10009498321_2139481603] INFO SABREpl_timings - : T:0.234 secs S:ABE_ABEBOOKD01_9RVB_000000000002 A:SpecialServiceLLSRS M:2139481603_37114603_37772403_14 RSP: [<?xml version="1.0" encoding="UTF-8"?>
<SpecialServiceRS Version="2.2.1" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:stl="http://services.sabre.com/STL/v01" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<stl:ApplicationResults status="NotProcessed">
<stl:Error timeStamp="2018-03-05T18:02:32-06:00" type="BusinessLogic">
<stl:SystemSpecificResults>
<stl:Message>.CHECK ENTRY FORMAT.NOT ENT BGNG WITH</stl:Message>
<stl:Message>3OSI CTCE/ACCEPT//TEST.CORP.COMPANY.COM</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</SpecialServiceRS>
If your intention is to create the 3CTCEA/ACCEPT//TEST.CORP.COMPANY.COM-1.1 format, then you don't have to use the SecureFlight node, as that one creates the 3DOCS format.
I would advise to remove it altogether:
<SpecialServiceRQ TimeStamp="2018-03-05T19:02:32.219-05:00" Version="2.2.1" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:ns2="http://services.sabre.com/STL/v01" ReturnHostCommand="true">
<SpecialServiceInfo>
<Service SSR_Code="CTCE" SegmentNumber="A">
<PersonName NameNumber="1.1"/>
<Text>ACCEPT//TEST.CORP.COMPANY.COM</Text>
</Service>
</SpecialServiceInfo>
This way you will create the above format. If this is not the format let me know which one is and I will help with that one as well.
I am working hotel reservation work flow. But I struggled on Hotel Reservation API. Below I mentioned step by step activities what I done. Pls help me to solve the issue.
I Searched New York ["NYC"] city hotels using OTA_HotelAvailRQ API and got the successful response.
From that response picked hotel code [ HotelCode="0048286" ] property and supplied to HotelPropertyDescriptionLLSRQ api then successful response gotted.
From that response picked first RPH attribute of room rate element from room rates element [ < RoomRates > < RoomRate RPH="001" > ] and supplied to the OTA_HotelResLLSRQ API.
But following error happend. Workflows are tested in SoapUI.
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2016-08-20T03:19:25-05:00">
<stl:SystemSpecificResults>
<stl:Message>FORMAT</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
OTA_HotelAvailRQ API :
Request Body :
<ns:OTA_HotelAvailRQ Version="2.2.1">
<ns:AvailRequestSegment>
<ns:Customer>
<ns:Corporate>
<ns:ID>ABC1223</ns:ID>
</ns:Corporate>
</ns:Customer>
<ns:GuestCounts Count="2" />
<ns:HotelSearchCriteria>
<ns:Criterion>
<ns:HotelRef HotelCityCode="NYC" />
</ns:Criterion>
</ns:HotelSearchCriteria>
<ns:TimeSpan End="09-24" Start="09-22" />
</ns:AvailRequestSegment>
</ns:OTA_HotelAvailRQ>
Response Body or Soap Body :
<OTA_HotelAvailRS Version="2.2.1" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01">
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2016-08-20T03:07:02-05:00"/>
</stl:ApplicationResults>
<AdditionalAvail Ind="true"/>
<AvailabilityOptions>
<AvailabilityOption RPH="001">
<BasicPropertyInfo AreaID="000E" ChainCode="WV" Distance="M" GEO_ConfidenceLevel="1" HotelCityCode="JFK" HotelCode="0048286" HotelName="HOTEL ON RIVINGTON" Latitude="40.719970" Longitude="-73.987990">
<Address>
<AddressLine>107 RIVINGTON STREET</AddressLine>
<AddressLine>NEW YORK NY 10002</AddressLine>
</Address>
<ContactNumbers>
<ContactNumber Fax="1-212-475 5959" Phone="1-212-475 2600"/>
</ContactNumbers>
<DirectConnect>
<Alt_Avail Ind="false"/>
<DC_AvailParticipant Ind="true"/>
<DC_SellParticipant Ind="true"/>
<RatesExceedMax Ind="false"/>
<UnAvail Ind="false"/>
</DirectConnect>
<LocationDescription Code="G">
<Text>NEW YORK</Text>
</LocationDescription>
<Property Rating="NTM">
<Text>4 CROWN</Text>
</Property>
<PropertyOptionInfo>
<!-- deleted -->
</PropertyOptionInfo>
<RoomRate RateLevelCode="RAC">
<AdditionalInfo>
<CancelPolicy Numeric="00"/>
</AdditionalInfo>
<HotelRateCode>RAC</HotelRateCode>
</RoomRate>
<SpecialOffers Ind="false"/>
</BasicPropertyInfo>
</AvailabilityOption>
<!-- 6 More Results are avilable below i skipped -->
</AvailabilityOptions>
</OTA_HotelAvailRS>
</soap-env:Body>
HotelPropertyDescriptionLLSRQ
Request Body :
<SOAP-ENV:Body>
<ns4:HotelPropertyDescriptionRQ xmlns:ns2="http://services.sabre.com/STL_Header/v120" xmlns:ns3="http://services.sabre.com/STL/v01" xmlns:ns4="http://webservices.sabre.com/sabreXML/2011/10" Version="2.3.0">
<ns4:AvailRequestSegment>
<ns4:GuestCounts Count="2" />
<ns4:HotelSearchCriteria>
<ns4:Criterion>
<ns4:HotelRef HotelCode="0048286" />
</ns4:Criterion>
</ns4:HotelSearchCriteria>
<ns4:TimeSpan End="09-24" Start="09-22" />
</ns4:AvailRequestSegment>
</ns4:HotelPropertyDescriptionRQ>
</SOAP-ENV:Body>
Response Body :
<soap-env:Body>
<HotelPropertyDescriptionRS Version="2.3.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01">
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2016-08-20T03:11:53-05:00"/>
</stl:ApplicationResults>
<RoomStay>
<BasicPropertyInfo ChainCode="WV" GeoConfidenceLevel="1" HotelCityCode="JFK" HotelCode="0048286" HotelName="HOTEL ON RIVINGTON" Latitude="40.719970" Longitude="-73.987990" NumFloors="20" RPH="001">
<Address>
<AddressLine>107 RIVINGTON STREET</AddressLine>
<AddressLine>NEW YORK NY 10002</AddressLine>
<CountryCode>US</CountryCode>
</Address>
<Awards>
<AwardProvider>NTM4 CROWN</AwardProvider>
</Awards>
<CheckInTime>16:00</CheckInTime>
<CheckOutTime>12:00</CheckOutTime>
<ContactNumbers>
<ContactNumber Fax="1-212-475 5959" Phone="1-212-475 2600"/>
</ContactNumbers>
<DirectConnect Ind="false">
<!--I deleted -->
</DirectConnect>
<IndexData>
<!--I deleted -->
</IndexData>
<PropertyOptionInfo>
<!--I deleted -->
</PropertyOptionInfo>
<PropertyTypeInfo>
<!--I deleted -->
</PropertyTypeInfo>
<SpecialOffers Ind="false"/>
<Taxes>
<Text>8.5PCT ST</Text>
<Text>6.25PCT CT</Text>
<Text>3USD OCC</Text>
</Taxes>
<VendorMessages>
<!--I deleted -->
</VendorMessages>
</BasicPropertyInfo>
<Guarantee>
<!-- I delete -->
</Guarantee>
<LongSellTimeIdentifier>D138CA674B4C40A4529719A000000000529719A016233031153</LongSellTimeIdentifier>
<RoomRates>
<RoomRate DirectConnect="false" GuaranteeSurchargeRequired="G" GuaranteedRateProgram="false" IATA_CharacteristicIdentification="C1KRAC" IATA_ProductIdentification="BEST AVAILABLE RATE" LowInventoryThreshold="false" RPH="001" RateChangeInd="false" RateConversionInd="false" SpecialOffer="false">
<AdditionalInfo>
<!-- deleted -->
</AdditionalInfo>
<Rates>
<Rate Amount="550.00" ChangeIndicator="false" CurrencyCode="USD" HRD_RequiredForSell="false" PackageIndicator="false" RateConversionInd="false" ReturnOfRateInd="false" RoomOnRequest="false">
<AdditionalGuestAmounts>
<AdditionalGuestAmount MaxExtraPersonsAllowed="1">
<Charges ExtraPerson="50.00"/>
</AdditionalGuestAmount>
</AdditionalGuestAmounts>
<HotelTotalPricing Amount="1269.25">
<Disclaimer>INCLUDES TAXES AND SURCHARGES</Disclaimer>
<TotalTaxes Amount="169.25">
<TaxFieldOne>162.26</TaxFieldOne>
<TaxFieldThree>3.00</TaxFieldThree>
<TaxFieldTwo>3.99</TaxFieldTwo>
<Text>STATETAX</Text>
<Text>OTHER</Text>
<Text>OTHER</Text>
</TotalTaxes>
</HotelTotalPricing>
</Rate>
</Rates>
</RoomRate>
<!-- I deleted Room Rate from RPH="002" to RPH="0025" -->
</RoomRates>
<TimeSpan Duration="0005" End="2016-09-24" Start="2016-09-22"/>
</RoomStay>
</HotelPropertyDescriptionRS>
</soap-env:Body>
OTA_HotelResLLSRQ
Request Body :
<ns2:OTA_HotelResRQ xmlns:ns2="http://webservices.sabre.com/sabreXML/2011/10" xmlns:ns3="http://services.sabre.com/STL_Header/v120" xmlns:ns4="http://services.sabre.com/STL/v01" Version="2.2.0">
<ns2:Hotel>
<ns2:BasicPropertyInfo RPH="001">
<ns2:ConfirmationNumber>ABC123</ns2:ConfirmationNumber>
</ns2:BasicPropertyInfo>
<ns2:Guarantee Type="GDPST">
<ns2:CC_Info>
<ns2:PaymentCard Code="AX" ExpireDate="2020-12" Number="1234567890" />
<ns2:PersonName>
<ns2:Surname>TEST</ns2:Surname>
</ns2:PersonName>
</ns2:CC_Info>
</ns2:Guarantee>
<ns2:GuestCounts Count="2" />
<ns2:RoomType NumberOfUnits="1"/>
<ns2:TimeSpan End="09-24T10:00" Start="09-22T08:00" />
</ns2:Hotel>
</ns2:OTA_HotelResRQ>
Response Body :
<OTA_HotelResRS Version="2.2.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2016-08-20T03:19:25-05:00">
<stl:SystemSpecificResults>
<stl:Message>FORMAT</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</OTA_HotelResRS>
Pls provide working Request Body for OTA_HotelResLLSRQ.
Have you tried requesting with a real test Credit Card?
https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm
The credit card number "1234567890" is likely the cause of the problem. If this is being done on Sabre's production API, a real credit card number is required here. You should also enter the card owner's real surname instead of "TEST".
My recommendation would be to enter a real valid credit number and expiry date. To prevent the booking from getting passed to the hotel, you should make a call to "IgnoreTransactionLLSRQ" right after the call to "OTA_HotelResLLSRQ".
The SOAP body for "IgnoreTransactionLLSRQ" is very simple:
<soapenv:Body>
<IgnoreTransactionRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.0.0"></IgnoreTransactionRQ>
</soapenv:Body>
That will allow you to pass a valid credit card to "OTA_HotelResLLSRQ" to verify if that is the cause of your error. Once your flow is working properly, you can then replace the call to "IgnoreTransactionLLSRQ" with the proper "EndTransactionLLSRQ" to generate real bookings.
I hope that helps!
The credit card number is too short and invalid. The roomrate should have included a list of accepted cards, maybe AX is not accepted. Also it probably won't accept a name like TEST.
I have a problem when deploying seam with tomcat. I get this error :
Caused by: java.lang.IllegalStateException: entityManager is null
at org.jboss.seam.framework.EntityQuery.validate(EntityQuery.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
.......................................
Here are my details. I have followed all the details from jboss seam jpa example :
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="bookingDatabase">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:comp/env/jdbc/TestDB</non-jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
</properties>
</persistence-unit>
</persistence>
This is my component.xml. I think there is no problem with it.
components.xml
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core"
xmlns:persistence="http://jboss.com/products/seam/persistence"
xmlns:drools="http://jboss.com/products/seam/drools"
xmlns:bpm="http://jboss.com/products/seam/bpm"
xmlns:security="http://jboss.com/products/seam/security"
xmlns:mail="http://jboss.com/products/seam/mail"
xmlns:web="http://jboss.com/products/seam/web"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cache="http://jboss.com/products/seam/cache"
xmlns:async="http://jboss.com/products/seam/async"
xmlns:transaction="http://jboss.com/products/seam/transaction"
xsi:schemaLocation=
"http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd
http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd
http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd
http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd
http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd
http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd
http://jboss.com/products/seam/cache http://jboss.com/products/seam/cache-2.2.xsd
http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.2.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd
http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd ">
<core:manager concurrent-request-timeout="500"
conversation-timeout="120000"
conversation-id-parameter="cid"
parent-conversation-id-parameter="pid"/>
<transaction:entity-transaction entity-manager="#{em}"/>
<persistence:entity-manager-factory name="bookingDatabase"/>
<persistence:managed-persistence-context name="em"
auto-create="true"
entity-manager-factory="#{bookingDatabase}"/>
<security:identity authenticate-method="#{authenticator.authenticate}"/>
<async:quartz-dispatcher/>
<cache:eh-cache-provider name="cacheProvider" auto-create="true"/>
<!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
<web:hot-deploy-filter url-pattern="*.seam"/>
<drools:rule-base name="securityRules">
<drools:rule-files>
<value>/security.drl</value>
</drools:rule-files>
</drools:rule-base>
<security:rule-based-permission-resolver security-rules="#{securityRules}"/>
<security:jpa-identity-store
user-class="org.domain.simpopanpa.entity.UserAccount"
role-class="org.domain.simpopanpa.entity.UserRole"/>
<security:jpa-permission-store
user-permission-class="org.domain.simpopanpa.entity.UserPermission"/>
<event type="org.jboss.seam.security.notLoggedIn">
<action execute="#{redirect.captureCurrentView}"/>
</event>
<event type="org.jboss.seam.security.loginSuccessful">
<action execute="#{redirect.returnToCapturedView}"/>
</event>
<mail:mail-session host="localhost" port="25"/>
</components>
I have added the context.xml file as described in some forums.
context.xml
<Context path="/someName" docBase="someName"
debug="5" reloadable="true" crossContext="true">
<Resource auth="Container"
name="jdbc/TestDB"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:#127.0.0.1:1521:db11g"
username="user"
password="pass"
maxActive="100"
maxIdle="30"
maxWait="10000"/>
</Context>
I use tomcat 7 and jboss seam 2.2.1
You named the persistence context 'em'. The entityquery is per default trying to fetch it by 'entitymanager'. So either change the name in your components.xml or you have to call entityquery.setPersistenceContextName("em").