Hi All,
I too am getting a
org.xml.sax.SAXException: Invalid element
error using a client side generated from the wsdl by Axis 1.4
Here's what's coming back from the web service (note: I'm expecting this to be an error message from the service):
<RapidRepriceResponse
xmlns="http://www.wspan.com/RapidRepriceResponse"
TrackingID="P2158331204317509448"
Version="1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMessage>
<ErrorNumber>3300</ErrorNumber>
<ErrorText>A017-CHECKPNRLOCATOR</ErrorText>
</ErrorMessage>
</RapidRepriceResponse>
Here's the error stack:
14:56:06,712 ERROR Call:2469 - Exception:
org.xml.sax.SAXException: Invalid element in com.worldspan.www.RapidRepriceResponse.RapidRepriceResponse - ErrorMessage
at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at RapidReprice.RapidRepriceSOAPBindingStub.sendRapidReprice(RapidRepriceSOAPBindingStub.java:1785)
at com.carlson.cwt.directconnect.gateway.adapter.air.WorldspanServiceAdapter.processRapidRepriceRequest(WorldspanServiceAdapter.java:220)
at com.carlson.cwt.directconnect.gateway.adapter.air.WorldspanServiceAdapter.processRequest(WorldspanServiceAdapter.java:131)
at com.carlson.cwt.directconnect.gateway.adapter.air.WorldspanAdapterTest.testGetWorldspanServicePort(WorldspanAdapterTest.java:42)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Here's the wsdl and the .xsd for the response
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:intf="urn:RapidReprice" xmlns:rrrq="http://www.worldspan.com/RapidRepriceRequest" xmlns:rrrs="http://www.worldspan.com/RapidRepriceResponse" xmlns:tch="http://xmlota.worldspan.com/webservice/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:RapidReprice">
<wsdl:types>
<xsd:schema targetNamespace="http://xmlota.worldspan.com/webservice/Header">
<xsd:import namespace="http://xmlota.worldspan.com/webservice/" schemaLocation="TransactionControlHeader.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.worldspan.com/RQ/Request">
<xsd:import namespace="http://www.worldspan.com/RapidRepriceRequest" schemaLocation="RapidRepriceRequest.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.worldspan.com/RS/Response">
<xsd:import namespace="http://www.worldspan.com/RapidRepriceResponse" schemaLocation="RapidRepriceResponse.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="sendRapidRepriceInput">
<wsdl:part name="Header" element="tch:TransactionControlHeader"/>
<wsdl:part name="RapidRepriceRequest" element="rrrq:RapidRepriceRequest"/>
</wsdl:message>
<wsdl:message name="sendRapidRepriceOutput">
<wsdl:part name="RapidRepriceResponse" element="rrrs:RapidRepriceResponse"/>
</wsdl:message>
<wsdl:portType name="RapidRepricePortType">
<wsdl:operation name="sendRapidReprice">
<wsdl:input message="intf:sendRapidRepriceInput"/>
<wsdl:output message="intf:sendRapidRepriceOutput"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="RapidRepriceSOAPBinding" type="intf:RapidRepricePortType">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sendRapidReprice">
<wsdlsoap:operation soapAction="sendRapidReprice" style="document"/>
<wsdl:input>
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="RapidRepriceService">
<wsdl:port name="RapidReprice" binding="intf:RapidRepriceSOAPBinding">
<!-- Pre-production address -->
<wsdlsoap:address location="https://websvcpp.worldspan.com/RapidReprice"/>
<!-- Production Address -->
<!--wsdlsoap:address location="https://websvc.worldspan.com/RapidReprice"/-->
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Here's the response .xsd
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 sp2 U (
http://www.altova.com) by Brian Lathrum (Worldspan) -->
<xs:schema xmlns="http://www.worldspan.com/RapidRepriceResponse" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.worldspan.com/RapidRepriceResponse">
<xs:element name="RapidRepriceResponse">
<xs:annotation>
<xs:documentation>Root of the Rapid Reprice Response</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ErrorMessage" minOccurs="0"/>
<xs:element ref="ResultInfo" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="CreditCardQueryStatus" minOccurs="0" maxOccurs="9"/>
<xs:element ref="QueuePNR_Status" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="TrackingID" type="xs:string">
<xs:annotation>
<xs:documentation>Unique ID assigned to each request, used to track request through the Worldspan System.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Version" type="xs:string">
<xs:annotation>
<xs:documentation>Message Version</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ErrorMessage">
<xs:annotation>
<xs:documentation>Error information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ErrorNumber"/>
<xs:element ref="ErrorText"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ErrorNumber" type="xs:integer">
<xs:annotation>
<xs:documentation>Error number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ErrorText" type="xs:string">
<xs:annotation>
<xs:documentation>Error text</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResultInfo">
<xs:annotation>
<xs:documentation>Result Information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ResultNumber" minOccurs="0"/>
<xs:element ref="ResultErrorMessage" minOccurs="0"/>
<xs:element ref="ResultReasonCode" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PricingTagInfo" minOccurs="0"/>
<xs:element ref="AdvisoryMessage" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="BulkTicketAdvisoryInd" minOccurs="0"/>
<xs:element ref="TotalInfo" minOccurs="0"/>
<xs:element ref="PTC_ItemInfo" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PricingInfo" minOccurs="0"/>
<xs:element ref="ItineraryData" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="BankersSellingRate" minOccurs="0"/>
<xs:element ref="FormOfRefund" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ResultNumber">
<xs:annotation>
<xs:documentation>Result Number from ProcessingOption = B in the request XML.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedByte">
<xs:totalDigits value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ResultErrorMessage">
<xs:annotation>
<xs:documentation>Error message</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="SystemProgram"/>
<xs:element ref="ResultErrorText"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SystemProgram">
<xs:annotation>
<xs:documentation>System program that took error</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
<xs:element name="ResultErrorText" type="xs:string">
<xs:annotation>
<xs:documentation>Result error message text</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResultReasonCode" type="xs:string">
<xs:annotation>
<xs:documentation>Reason code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PricingTagInfo">
<xs:annotation>
<xs:documentation>Pricing tag and fare calculation information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PricingTag"/>
<xs:element ref="FCI_Ind"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PricingTag">
<xs:annotation>
<xs:documentation>Pricing tag this result was priced with
Valid values: A-L or An-Ln where n =1 or 2 </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FCI_Ind">
<xs:annotation>
<xs:documentation>Fare Calculation Indicator (FCI).
0 = Agent assisted priced by Subscriber
1 = Rate Desk priced by Subscriber
2 = Agent assisted priced by a participating carrier
3 = Rate Desk priced by a participating carrier
4 = Rapid Reprice
5 = (default) Priced by Worldspan using Rapid Reprice or ETR
6 = Priced by participating carrier using SecuRate air fare
7 = Agent assisted priced by partner
8 = Rate Desk priced by partner
9 = Auto-priced by Worldspan</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AdvisoryMessage" type="xs:string">
<xs:annotation>
<xs:documentation>Advisory message text</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BankersSellingRate">
<xs:annotation>
<xs:documentation>Bankers Selling Rate - the conversion of the original ticket currency to the currency of the additional collection using the currect BSR.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
<xs:element name="BulkTicketAdvisoryInd">
<xs:annotation>
<xs:documentation>Bulk Ticket Advisory Indicator
(Alerts Customer not to pass base and total fare amounts to 3rd party)
�Y� - Yes
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalInfo">
<xs:annotation>
<xs:documentation>Total fare information for all passengers</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="NumberOfFlightSegments" minOccurs="0"/>
<xs:element ref="BaseFare" minOccurs="0"/>
<xs:element ref="EquivBaseFare" minOccurs="0"/>
<xs:element ref="ChangeFee" minOccurs="0"/>
<xs:element ref="EquivChangeFee" minOccurs="0"/>
<xs:element ref="FareDifference" minOccurs="0"/>
<xs:element ref="EquivFareDifference" minOccurs="0"/>
<xs:element ref="TotalFare" minOccurs="0"/>
<xs:element ref="Refund" minOccurs="0"/>
<xs:element ref="AdditionalCollection" minOccurs="0"/>
<xs:element ref="ResidualValue" minOccurs="0"/>
<xs:element ref="TotalResidualValue" minOccurs="0"/>
<xs:element ref="OriginalFlightValue" minOccurs="0"/>
<xs:element ref="FlownSegmentValue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NumberOfFlightSegments">
<xs:annotation>
<xs:documentation>Number of flight segments</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedByte">
<xs:totalDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BaseFare" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Base Fare</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EquivBaseFare" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Equivlent Base Fare</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ChangeFee" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Change Fee</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EquivChangeFee" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Equivalent change fee</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FareDifference" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Fare difference</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EquivFareDifference" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Equivalent fare difference</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalFare" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Total fare</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Refund" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Refund</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AdditionalCollection" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Additional collection</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResidualValue" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Residual value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalResidualValue" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Total residual value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OriginalFlightValue" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Total residual value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FlownSegmentValue" type="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Flown segment value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PTC_ItemInfo">
<xs:annotation>
<xs:documentation>Passenger type code item information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="TicketNumber" minOccurs="0"/>
<xs:element ref="PTC_Info" minOccurs="0"/>
<xs:element ref="BaseFare" minOccurs="0"/>
<xs:element ref="EquivBaseFare" minOccurs="0"/>
<xs:element ref="ChangeFee" minOccurs="0"/>
<xs:element ref="EquivChangeFee" minOccurs="0"/>
<xs:element ref="FareDifference" minOccurs="0"/>
<xs:element ref="EquivFareDifference" minOccurs="0"/>
<xs:element ref="TotalFare" minOccurs="0"/>
<xs:element ref="Refund" minOccurs="0"/>
<xs:element ref="AdditionalCollection" minOccurs="0"/>
<xs:element ref="ResidualValue" minOccurs="0"/>
<xs:element ref="TotalResidualValue" minOccurs="0"/>
<xs:element ref="OriginalFlightValue" minOccurs="0"/>
<xs:element ref="FlownSegmentValue" minOccurs="0"/>
<xs:element ref="TourCode" minOccurs="0"/>
<xs:element ref="PassengerName" minOccurs="0"/>
<xs:element ref="PassengerTicketNumber" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PTC_Info">
<xs:annotation>
<xs:documentation>passenger type code information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PTC"/>
<xs:element ref="NumberOfPassengers"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PTC">
<xs:annotation>
<xs:documentation>Passenger type code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TourCode" type="xs:string">
<xs:annotation>
<xs:documentation>Tour code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfPassengers">
<xs:annotation>
<xs:documentation>Number of passenger</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerName" type="xs:string">
<xs:annotation>
<xs:documentation>Passenger name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerTicketNumber">
<xs:annotation>
<xs:documentation>Passenger conjuctive ticket numbers</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PricingInfo">
<xs:annotation>
<xs:documentation>Pricing information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="BookingReferenceID" minOccurs="0"/>
<xs:element ref="PricingTypeInd"/>
<xs:element ref="LowFarePricingInd"/>
<xs:element ref="PricingPseudoErrorInd"/>
<xs:element ref="LowFareFoundInd"/>
<xs:element ref="PenaltyAppliesInd"/>
<xs:element ref="DiscountAppliesInd"/>
<xs:element ref="DomesticInternationalInd"/>
<xs:element ref="ValidatingVendorCode"/>
<xs:element ref="BaseFareCurrencyCode"/>
<xs:element ref="EquivFareCurrencyCode" minOccurs="0"/>
<xs:element ref="PNR_PricedDate" minOccurs="0"/>
<xs:element ref="PrePriceInd"/>
<xs:element ref="PreTicketInd"/>
<xs:element ref="ForTicketingOnDate" minOccurs="0"/>
<xs:element ref="DepartureDate" minOccurs="0"/>
<xs:element ref="LastDateToTicket" minOccurs="0"/>
<xs:element ref="AdvisoryMessage" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PricingDetails" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="EndorsementText" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="WaiverText" minOccurs="0"/>
<xs:element ref="AccountCode" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EndorsementText" type="xs:string"/>
<xs:element name="WaiverText" type="xs:string"/>
<xs:element name="AccountCode" type="xs:string"/>
<xs:element name="BookingReferenceID">
<xs:annotation>
<xs:documentation>PNR record locator</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PricingTypeInd">
<xs:annotation>
<xs:documentation>Pricing type indicator
A: Auto priced
B: Agent assisted pricing</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LowFarePricingInd">
<xs:annotation>
<xs:documentation>Low fare pricing indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PricingPseudoErrorInd">
<xs:annotation>
<xs:documentation>Pricing pseudo error indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LowFareFoundInd">
<xs:annotation>
<xs:documentation>Low fare found indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PenaltyAppliesInd">
<xs:annotation>
<xs:documentation>Penalty applies indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DiscountAppliesInd">
<xs:annotation>
<xs:documentation>Discount applies indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DomesticInternationalInd">
<xs:annotation>
<xs:documentation>Domestic/international indicator
A: Domestic
B: International</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ValidatingVendorCode">
<xs:annotation>
<xs:documentation>Validating vendor code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BaseFareCurrencyCode">
<xs:annotation>
<xs:documentation>Base fare ISO currency code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EquivFareCurrencyCode">
<xs:annotation>
<xs:documentation>Equivalent fare ISO currency code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PNR_PricedDate" type="xs:date">
<xs:annotation>
<xs:documentation>PNR priced date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PrePriceInd">
<xs:annotation>
<xs:documentation>Pre-Priced indicator
Y: Yes
N: No
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PreTicketInd">
<xs:annotation>
<xs:documentation>Pre-Ticket indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ForTicketingOnDate" type="xs:date">
<xs:annotation>
<xs:documentation>For ticketing on date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DepartureDate" type="xs:date">
<xs:annotation>
<xs:documentation>Date of Departure</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LastDateToTicket" type="xs:date">
<xs:annotation>
<xs:documentation>Last date to ticket</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PricingDetails">
<xs:annotation>
<xs:documentation>Pricing details</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PricingType"/>
<xs:element ref="ConversionRate" minOccurs="0"/>
<xs:element ref="RateOfExchange" minOccurs="0"/>
<xs:element ref="RebookingInfo" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="AdvisoryMessage" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PriceByPTC" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PricingType" type="xs:string">
<xs:annotation>
<xs:documentation>Price type
A: As booked
B: Lowest fare
C: Lowest quote</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ConversionRate" type="xs:float">
<xs:annotation>
<xs:documentation>Convesion rate</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RateOfExchange" type="xs:float">
<xs:annotation>
<xs:documentation>
Exchange rate</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RebookingInfo">
<xs:annotation>
<xs:documentation>Rebooking information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="SegmentNumber"/>
<xs:element ref="ClassOfService"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SegmentNumber">
<xs:annotation>
<xs:documentation>Segment number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ClassOfService">
<xs:annotation>
<xs:documentation>Class of service</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PriceByPTC">
<xs:annotation>
<xs:documentation>Price by PTC</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PTC"/>
<xs:element ref="NumberOfPassengers"/>
<xs:element ref="FareLadder"/>
<xs:element ref="BaseAmount"/>
<xs:element ref="EquivBaseAmount" minOccurs="0"/>
<xs:element ref="TaxInfo" maxOccurs="unbounded"/>
<xs:element ref="TotalAmount"/>
<xs:element ref="PricingUnit" maxOccurs="16"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FareLadder" type="xs:string">
<xs:annotation>
<xs:documentation>Fare ladder text</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BaseAmount" type="xs:float">
<xs:annotation>
<xs:documentation>Base amount</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EquivBaseAmount" type="xs:float">
<xs:annotation>
<xs:documentation>Equivalent base amount</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TaxInfo">
<xs:annotation>
<xs:documentation>Tax information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="TaxCode"/>
<xs:element ref="Amount"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TaxCode">
<xs:annotation>
<xs:documentation>Tax code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalAmount" type="xs:float">
<xs:annotation>
<xs:documentation>Total amount</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PricingUnit">
<xs:annotation>
<xs:documentation>A journey or part of a journey which can be priced as a separate entity.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="PricingUnitNumber"/>
<xs:element ref="FareComponentInfo" maxOccurs="16"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PricingUnitNumber">
<xs:annotation>
<xs:documentation>Pricing
unit number
Valid Values: 01-16</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FareComponentInfo">
<xs:annotation>
<xs:documentation>The portion of an itinerary between two fare construction points
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="CurrencyCode" minOccurs="0"/>
<xs:element ref="FareComponentNumber" minOccurs="0"/>
<xs:element ref="Amount" minOccurs="0"/>
<xs:element ref="LegInfo" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FareComponentNumber">
<xs:annotation>
<xs:documentation>Fare component number
Valid Values: 01-16</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:totalDigits value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LegInfo">
<xs:annotation>
<xs:documentation>Leg information
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="SegmentNumber"/>
<xs:element ref="VendorCode"/>
<xs:element ref="FlightNumber"/>
<xs:element ref="ClassOfService"/>
<xs:element ref="SegmentCityCode1"/>
<xs:element ref="SegmentCityCode2"/>
<xs:element ref="SurchargeInd"/>
<xs:element ref="FareBasisCode" minOccurs="0"/>
<xs:element ref="BaggageAllowance" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VendorCode">
<xs:annotation>
<xs:documentation>Vendor code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FlightNumber">
<xs:annotation>
<xs:documentation>Flight number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SegmentCityCode1">
<xs:annotation>
<xs:documentation>Departure city code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SegmentCityCode2">
<xs:annotation>
<xs:documentation>Arrival city code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SurchargeInd">
<xs:annotation>
<xs:documentation>Surcharge indicator
Y: Yes
N: No</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y"/>
<xs:enumeration value="N"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FareBasisCode" type="xs:string">
<xs:annotation>
<xs:documentation>Fare basis code
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BaggageAllowance">
<xs:annotation>
<xs:documentation>Baggage allowance</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="BaggageInd"/>
<xs:element ref="BaggageQuantity"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BaggageInd">
<xs:annotation>
<xs:documentation>Baggage indicator
A: piece plan
B: pounds
C: Kilos
D: Stroller
E: No
F: Zero</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
<xs:enumeration value="C"/>
<xs:enumeration value="D"/>
<xs:enumeration value="E"/>
<xs:enumeration value="F"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BaggageQuantity" type="xs:int">
<xs:annotation>
<xs:documentation>Baggage quantity</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CreditCardQueryStatus">
<xs:annotation>
<xs:documentation>Status of the credit card authorization</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="ProcessingStatusInd"/>
<xs:element ref="ProcessingResult"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProcessingStatusInd">
<xs:annotation>
<xs:documentation>Processing status indicator
'A' - Approved
'B' - Non-Approved
'C' - Data Processing Error</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
<xs:enumeration value="C"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ProcessingResult" type="xs:string">
<xs:annotation>
<xs:documentation>Processing result text</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="QueuePNR_Status">
<xs:annotation>
<xs:documentation>PNR queue status</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="QueuingStatusInd"/>
<xs:element ref="QueuingResult"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="QueuingStatusInd">
<xs:annotation>
<xs:documentation>Queuing status indicator
'A' - Queue placement acknowledged
'B' - Queue placement failed
'C' - Data processing error</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
<xs:enumeration value="C"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QueuingResult" type="xs:string">
<xs:annotation>
<xs:documentation>Queuing result text</xs:documentation>
</xs:annotation>
</xs:element>
<!-- common type -->
<xs:complexType name="MonetaryInfoType">
<xs:annotation>
<xs:documentation>Monetary Information Type</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="CurrencyCode"/>
<xs:element ref="Amount"/>
</xs:sequence>
</xs:complexType>
<xs:element name="TicketNumber">
<xs:annotation>
<xs:documentation>The ticket number must be specified if multiple electronic tickets exist in a single passenger PNR in the request</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="13"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CurrencyCode">
<xs:annotation>
<xs:documentation>ISO currency code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Amount" type="xs:string">
<xs:annotation>
<xs:documentation>Monetary amount</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ItineraryData">
<xs:annotation>
<xs:documentation>Itinerary response data of select.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="SegmentNumber"/>
<xs:element ref="VendorCode" minOccurs="0"/>
<xs:element ref="FlightNumber" minOccurs="0"/>
<xs:element ref="ClassOfService" minOccurs="0"/>
<xs:element ref="DepartureDate" minOccurs="0"/>
<xs:element ref="DayOfWeek" minOccurs="0"/>
<xs:element ref="DepartureCityCode" minOccurs="0"/>
<xs:element ref="ArrivalCityCode" minOccurs="0"/>
<xs:element ref="DepartureTime" minOccurs="0"/>
<xs:element ref="ArrivalTime" minOccurs="0"/>
<xs:element ref="AdvisoryMessage" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DayOfWeek">
<xs:annotation>
<xs:documentation>Dat of week code (e.g. SU = Sunday)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DepartureCityCode">
<xs:annotation>
<xs:documentation>Origin city code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ArrivalCityCode">
<xs:annotation>
<xs:documentation>Destination city code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DepartureTime">
<xs:annotation>
<xs:documentation>Departure Time (e.g. 09:10:00)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:time"/>
</xs:simpleType>
</xs:element>
<xs:element name="ArrivalTime">
<xs:annotation>
<xs:documentation>Arrival Time</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:time"/>
</xs:simpleType>
</xs:element>
<xs:element name="FormOfRefund">
<xs:annotation>
<xs:documentation>For Category 31/reissues and Category 33/refunds this is how the refund amount will be issued. Value: M = Refund to MCO, F = Refund to original form of payment </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
Any ideas on what the problem is would be greatly apprecated.
Thanks,
Amy