The fact that wsdl2java accepted your WSDL definition, which uses <wsdl:import> to import schemas, means that there's a bug in wsdl2java. It should have given you warnings that the files could not be imported.
Note that the elements from an imported file remain in their original namespace; they do not become part of your WSDL targetNamespace. Therefore I would expect that you would need to reference CategoryAvailability like so:
element="tns9:CategoryAvailability"
Anne
At 01:16 PM 3/19/2004, you wrote:
Hello,
I am trying to include schema's into my wsdl but am running into a few problems and was hoping someone out there has the solution.
I'll outline what I'm trying to do.
1) Take an axis generated wsdl and parse it through a java app I have written that adds application specific constraint's to
the <schema> defined in the <wsdl:types> section.
2) Extract and remove the modified schema's from the <wsdl:types> section and write them to individual .xsd files
3) add import's in the wsdl file referring to the schema's I extracted.
4) add the <wsdlFile>myWSDL.wsdl</wsdlFile> entry into myWSDD.wsdd file so that AXIS uses my wsdl file.
Now for the problem part:
When I try to run wsdl2java I get the following exception:
[java] java.io.IOException: Element {http://mywebservice.sabre.com/cruise}CategoryAvailability is referenced but not defined.
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:527)
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:422)
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:408)
[java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:393)
[java] at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:245)
[java] at java.lang.Thread.run(Thread.java:534)
I think Axis only imports schema's when a element in the wsdl has a namespace that has NOT already been declared and matches the namespace defined in the <import namespace=" ...... > part. This is a guess, as when I change the namespace of the
object that is giving me the error ( CategoryAvailability in this case )
FROM
<wsdl:message name="CategoryAvailabilityRequest"> <wsdl:part element="impl:CategoryAvailability" name="parameters"/> </wsdl:message>
TO
<wsdl:message name="CategoryAvailabilityRequest"> <wsdl:part element="MYIMPL:CategoryAvailability" name="parameters"/> </wsdl:message>
where MYIMPL a different namespace from impl, but MYIMPL ns is the same as the ns of the schema I am trying to import.
This gets me past the first exception, but, of course I end up with all sorts of binding errors, but it kind of does lead me to believe that if a namespace is already defined ( i.e impl="http://mywebservice.sabre.com/cruise" ) and you try to import something with the same namespace from an .xsd file AXIS won't load it.
I have tried this on both 1.1 and 1.2alpha
I have included my wsdl file and the main schema file that has the definitions where I am seeing the problem.
If anyone can provide some insight and/or advice, I'd appreciate it.
Thanks,
Hamish.
HERE IS THE WSDL
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://mywebservice.sabre.com/cruise" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://mywebservice.sabre.com/cruise" xmlns:intf="http://mywebservice.sabre.com/cruise" xmlns:tns1="urn:displaybooking:datatypes:communications:cruise:sabre:com"
xmlns:tns10="urn:cabinavailability:datatypes:communications:cruise:sabre:com"
xmlns:tns11="urn:sailingavailability:datatypes:communications:cruise:sabre:com"
xmlns:tns12="urn:cabinhold:datatypes:communications:cruise:sabre:com" xmlns:tns13="http://exceptions.communications.cruise.sabre.com" xmlns:tns14="http://www.w3.org/1999/XMLSchema"
xmlns:tns2="urn:createrevisebooking:datatypes:communications:cruise:sabre:com"
xmlns:tns3="urn:rateoptionavailability:datatypes:communications:cruise:sabre:com"
xmlns:tns4="urn:statementandpricing:datatypes:communications:cruise:sabre:com" xmlns:tns5="urn:cancelbooking:datatypes:communications:cruise:sabre:com"
xmlns:tns6="urn:diningavailability:datatypes:communications:cruise:sabre:com" xmlns:tns7="urn:datatypes:communications:cruise:sabre:com"
xmlns:tns8="urn:transportationavailability:datatypes:communications:cruise:sabre:com"
xmlns:tns9="urn:categoryavailability:datatypes:communications:cruise:sabre:com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import location="cabinavailability.xsd" namespace="urn:cabinavailability:datatypes:communications:cruise:sabre:com"/>
<import location="cabinhold.xsd" namespace="urn:cabinhold:datatypes:communications:cruise:sabre:com"/>
<import location="cancelbooking.xsd" namespace="urn:cancelbooking:datatypes:communications:cruise:sabre:com"/>
<import location="categoryavailability.xsd" namespace="urn:categoryavailability:datatypes:communications:cruise:sabre:com"/>
<import location="control.xsd" namespace="urn:datatypes:communications:cruise:sabre:com"/>
<import location="createrevisebooking.xsd" namespace="urn:createrevisebooking:datatypes:communications:cruise:sabre:com"/>
<import location="cruiseapi.xsd" namespace="http://exceptions.communications.cruise.sabre.com"/>
<import location="diningavailability.xsd" namespace="urn:diningavailability:datatypes:communications:cruise:sabre:com"/>
<import location="displaybooking.xsd" namespace="urn:displaybooking:datatypes:communications:cruise:sabre:com"/>
<import location="exceptions.xsd" namespace="http://exceptions.communications.cruise.sabre.com"/>
<import location="rateoptionavailability.xsd" namespace="urn:rateoptionavailability:datatypes:communications:cruise:sabre:com"/>
<import location="sailingavailability.xsd" namespace="urn:sailingavailability:datatypes:communications:cruise:sabre:com"/>
<import location="statementandpricing.xsd" namespace="urn:statementandpricing:datatypes:communications:cruise:sabre:com"/>
<import location="transportationavailability.xsd" namespace="urn:transportationavailability:datatypes:communications:cruise:sabre:com"/>
<wsdl:message name="SailingAvailabilityRequest">
<wsdl:part element="impl:SailingAvailability" name="parameters"/>
</wsdl:message>
<wsdl:message name="RateOptionAvailabilityResponse">
<wsdl:part element="impl:RateOptionAvailabilityResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="TransportationAvailabilityRequest">
<wsdl:part element="impl:TransportationAvailability" name="parameters"/>
</wsdl:message>
<wsdl:message name="DisplayBookingResponse">
<wsdl:part element="impl:DisplayBookingResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CabinAvailabilityResponse">
<wsdl:part element="impl:CabinAvailabilityResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CabinHoldResponse">
<wsdl:part element="impl:CabinHoldResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CancelBookingResponse">
<wsdl:part element="impl:CancelBookingResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CreateReviseBookingResponse">
<wsdl:part element="impl:CreateReviseBookingResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="TransportationAvailabilityResponse">
<wsdl:part element="impl:TransportationAvailabilityResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="DiningAvailabilityRequest">
<wsdl:part element="impl:DiningAvailability" name="parameters"/>
</wsdl:message>
<wsdl:message name="CancelBookingRequest">
<wsdl:part element="impl:CancelBooking" name="parameters"/>
</wsdl:message>
<wsdl:message name="DisplayBookingRequest">
<wsdl:part element="impl:DisplayBooking" name="parameters"/>
</wsdl:message>
<wsdl:message name="SailingAvailabilityResponse">
<wsdl:part element="impl:SailingAvailabilityResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CategoryAvailabilityRequest">
<wsdl:part element="impl:CategoryAvailability" name="parameters"/>
</wsdl:message>
<wsdl:message name="DiningAvailabilityResponse">
<wsdl:part element="impl:DiningAvailabilityResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="StatementandPricingRequest">
<wsdl:part element="impl:StatementandPricing" name="parameters"/>
</wsdl:message>
<wsdl:message name="CruiseException">
<wsdl:part element="impl:fault" name="fault"/>
</wsdl:message>
<wsdl:message name="CategoryAvailabilityResponse">
<wsdl:part element="impl:CategoryAvailabilityResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CreateReviseBookingRequest">
<wsdl:part element="impl:CreateReviseBooking" name="parameters"/>
</wsdl:message>
<wsdl:message name="CabinAvailabilityRequest">
<wsdl:part element="impl:CabinAvailability" name="parameters"/>
</wsdl:message>
<wsdl:message name="StatementandPricingResponse">
<wsdl:part element="impl:StatementandPricingResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="CabinHoldRequest">
<wsdl:part element="impl:CabinHold" name="parameters"/>
</wsdl:message>
<wsdl:message name="RateOptionAvailabilityRequest">
<wsdl:part element="impl:RateOptionAvailability" name="parameters"/>
</wsdl:message>
<wsdl:portType name="CruiseCommunicationAPI">
<wsdl:operation name="SailingAvailability" parameterOrder="">
<wsdl:input message="impl:SailingAvailabilityRequest" name="SailingAvailabilityRequest"/>
<wsdl:output message="impl:SailingAvailabilityResponse" name="SailingAvailabilityResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="RateOptionAvailability" parameterOrder="">
<wsdl:input message="impl:RateOptionAvailabilityRequest" name="RateOptionAvailabilityRequest"/>
<wsdl:output message="impl:RateOptionAvailabilityResponse" name="RateOptionAvailabilityResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="CategoryAvailability" parameterOrder="">
<wsdl:input message="impl:CategoryAvailabilityRequest" name="CategoryAvailabilityRequest"/>
<wsdl:output message="impl:CategoryAvailabilityResponse" name="CategoryAvailabilityResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="TransportationAvailability" parameterOrder="">
<wsdl:input message="impl:TransportationAvailabilityRequest" name="TransportationAvailabilityRequest"/>
<wsdl:output message="impl:TransportationAvailabilityResponse" name="TransportationAvailabilityResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="CabinAvailability" parameterOrder="">
<wsdl:input message="impl:CabinAvailabilityRequest" name="CabinAvailabilityRequest"/>
<wsdl:output message="impl:CabinAvailabilityResponse" name="CabinAvailabilityResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="DiningAvailability" parameterOrder="">
<wsdl:input message="impl:DiningAvailabilityRequest" name="DiningAvailabilityRequest"/>
<wsdl:output message="impl:DiningAvailabilityResponse" name="DiningAvailabilityResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="CabinHold" parameterOrder="">
<wsdl:input message="impl:CabinHoldRequest" name="CabinHoldRequest"/>
<wsdl:output message="impl:CabinHoldResponse" name="CabinHoldResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="StatementandPricing" parameterOrder="">
<wsdl:input message="impl:StatementandPricingRequest" name="StatementandPricingRequest"/>
<wsdl:output message="impl:StatementandPricingResponse" name="StatementandPricingResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="CreateReviseBooking" parameterOrder="">
<wsdl:input message="impl:CreateReviseBookingRequest" name="CreateReviseBookingRequest"/>
<wsdl:output message="impl:CreateReviseBookingResponse" name="CreateReviseBookingResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="DisplayBooking" parameterOrder="">
<wsdl:input message="impl:DisplayBookingRequest" name="DisplayBookingRequest"/>
<wsdl:output message="impl:DisplayBookingResponse" name="DisplayBookingResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
<wsdl:operation name="CancelBooking" parameterOrder="">
<wsdl:input message="impl:CancelBookingRequest" name="CancelBookingRequest"/>
<wsdl:output message="impl:CancelBookingResponse" name="CancelBookingResponse"/>
<wsdl:fault message="impl:CruiseException" name="CruiseException"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CruiseAPISoapBinding" type="impl:CruiseCommunicationAPI">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="SailingAvailability">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="SailingAvailabilityRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="SailingAvailabilityResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="RateOptionAvailability">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="RateOptionAvailabilityRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="RateOptionAvailabilityResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="CategoryAvailability">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="CategoryAvailabilityRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="CategoryAvailabilityResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="TransportationAvailability">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="TransportationAvailabilityRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="TransportationAvailabilityResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="CabinAvailability">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="CabinAvailabilityRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="CabinAvailabilityResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="DiningAvailability">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="DiningAvailabilityRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="DiningAvailabilityResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="CabinHold">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="CabinHoldRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="CabinHoldResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="StatementandPricing">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="StatementandPricingRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="StatementandPricingResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="CreateReviseBooking">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="CreateReviseBookingRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="CreateReviseBookingResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="DisplayBooking">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="DisplayBookingRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="DisplayBookingResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="CancelBooking">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="CancelBookingRequest">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:input>
<wsdl:output name="CancelBookingResponse">
<wsdlsoap:body namespace="http://mywebservice.sabre.com/cruise" use="literal"/>
</wsdl:output>
<wsdl:fault name="CruiseException">
<wsdlsoap:fault name="CruiseException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CruiseCommunicationAPIService">
<wsdl:port binding="impl:CruiseAPISoapBinding" name="CruiseAPI">
<wsdlsoap:address location="http://localhost:8080/CruiseWebServices_1.0Alpha/services/CruiseAPI"/>
</wsdl:port> </wsdl:service> </wsdl:definitions>
HERE IS cruiseapi.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema elementFormDefault="qualified" targetNamespace="http://mywebservice.sabre.com/cruise" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns1="urn:displaybooking:datatypes:communications:cruise:sabre:com" xmlns:tns10="urn:cabinavailability:datatypes:communications:cruise:sabre:com" xmlns:tns11="urn:sailingavailability:datatypes:communications:cruise:sabre:com" xmlns:tns12="urn:cabinhold:datatypes:communications:cruise:sabre:com" xmlns:tns13="http://exceptions.communications.cruise.sabre.com" xmlns:tns2="urn:createrevisebooking:datatypes:communications:cruise:sabre:com" xmlns:tns3="urn:rateoptionavailability:datatypes:communications:cruise:sabre:com" xmlns:tns4="urn:statementandpricing:datatypes:communications:cruise:sabre:com" xmlns:tns5="urn:cancelbooking:datatypes:communications:cruise:sabre:com" xmlns:tns6="urn:diningavailability:datatypes:communications:cruise:sabre:com" xmlns:tns7="urn:datatypes:communications:cruise:sabre:com" xmlns:tns8="urn:transporta!
tionavailability:datatypes:communications:cruise:sabre:com" xmlns:tns9="urn:categoryavailability:datatypes:communications:cruise:sabre:com" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:import namespace="urn:datatypes:communications:cruise:sabre:com" schemaLocation="control.xsd"/><xsd:import namespace="urn:cancelbooking:datatypes:communications:cruise:sabre:com" schemaLocation="cancelbooking.xsd"/><xsd:import namespace="urn:displaybooking:datatypes:communications:cruise:sabre:com" schemaLocation="displaybooking.xsd"/><xsd:import namespace="urn:createrevisebooking:datatypes:communications:cruise:sabre:com" schemaLocation="createrevisebooking.xsd"/><xsd:import namespace="urn:statementandpricing:datatypes:communications:cruise:sabre:com" schemaLocation="statementandpricing.xsd"/><xsd:import namespace="urn:cabinhold:datatypes:communications:cruise:sabre:com" schemaLocation="cabinhold.xsd"/><xsd:import namespace="urn:diningavailability:datatypes:communications:crui!
se:sabre:com" schemaLocation="diningavailability.xsd"/><xsd:import n
amespace="urn:cabinavailability:datatypes:communications:cruise:sabre:com" schemaLocation="cabinavailability.xsd"/><xsd:import namespace="urn:transportationavailability:datatypes:communications:cruise:sabre:com" schemaLocation="transportationavailability.xsd"/><xsd:import namespace="urn:categoryavailability:datatypes:communications:cruise:sabre:com" schemaLocation="categoryavailability.xsd"/><xsd:import namespace="urn:rateoptionavailability:datatypes:communications:cruise:sabre:com" schemaLocation="rateoptionavailability.xsd"/><xsd:import namespace="http://exceptions.communications.cruise.sabre.com" schemaLocation="exceptions.xsd"/><xsd:import namespace="urn:sailingavailability:datatypes:communications:cruise:sabre:com" schemaLocation="sailingavailability.xsd"/>
<element name="SailingAvailability">
<complexType>
<sequence>
<element name="in0" type="tns11:SailingAvailabilityRequest"/>
</sequence>
</complexType>
</element>
<element name="SailingAvailabilityResponse">
<complexType>
<sequence>
<element name="SailingAvailabilityReturn" type="tns11:SailingAvailabilityResponse"/>
</sequence>
</complexType>
</element>
<element name="fault" type="tns13:CruiseException"/>
<element name="RateOptionAvailability">
<complexType>
<sequence>
<element name="in0" type="tns3:RateOptionAvailabilityRequest"/>
</sequence>
</complexType>
</element>
<element name="RateOptionAvailabilityResponse">
<complexType>
<sequence>
<element name="RateOptionAvailabilityReturn" type="tns3:RateOptionAvailabilityResponse"/>
</sequence>
</complexType>
</element>
<element name="CategoryAvailability">
<complexType>
<sequence>
<element name="in0" type="tns9:CategoryAvailabilityRequest"/>
</sequence>
</complexType>
</element>
<element name="CategoryAvailabilityResponse">
<complexType>
<sequence>
<element name="CategoryAvailabilityReturn" type="tns9:CategoryAvailabilityResponse"/>
</sequence>
</complexType>
</element>
<element name="TransportationAvailability">
<complexType>
<sequence>
<element name="in0" type="tns8:TransportationAvailabilityRequest"/>
</sequence>
</complexType>
</element>
<element name="TransportationAvailabilityResponse">
<complexType>
<sequence>
<element name="TransportationAvailabilityReturn" type="tns8:TransportationAvailabilityResponse"/>
</sequence>
</complexType>
</element>
<element name="CabinAvailability">
<complexType>
<sequence>
<element name="in0" type="tns10:CabinAvailabilityRequest"/>
</sequence>
</complexType>
</element>
<element name="CabinAvailabilityResponse">
<complexType>
<sequence>
<element name="CabinAvailabilityReturn" type="tns10:CabinAvailabilityResponse"/>
</sequence>
</complexType>
</element>
<element name="DiningAvailability">
<complexType>
<sequence>
<element name="in0" type="tns6:DiningAvailabilityRequest"/>
</sequence>
</complexType>
</element>
<element name="DiningAvailabilityResponse">
<complexType>
<sequence>
<element name="DiningAvailabilityReturn" type="tns6:DiningAvailabilityResponse"/>
</sequence>
</complexType>
</element>
<element name="CabinHold">
<complexType>
<sequence>
<element name="in0" type="tns12:CabinHoldRequest"/>
</sequence>
</complexType>
</element>
<element name="CabinHoldResponse">
<complexType>
<sequence>
<element name="CabinHoldReturn" type="tns12:CabinHoldResponse"/>
</sequence>
</complexType>
</element>
<element name="StatementandPricing">
<complexType>
<sequence>
<element name="in0" type="tns4:StatementandPricingRequest"/>
</sequence>
</complexType>
</element>
<element name="StatementandPricingResponse">
<complexType>
<sequence>
<element name="StatementandPricingReturn" type="tns4:StatementandPricingResponse"/>
</sequence>
</complexType>
</element>
<element name="CreateReviseBooking">
<complexType>
<sequence>
<element name="in0" type="tns2:CreateReviseBookingRequest"/>
</sequence>
</complexType>
</element>
<element name="CreateReviseBookingResponse">
<complexType>
<sequence>
<element name="CreateReviseBookingReturn" type="tns2:CreateReviseBookingResponse"/>
</sequence>
</complexType>
</element>
<element name="DisplayBooking">
<complexType>
<sequence>
<element name="in0" type="tns1:DisplayBookingRequest"/>
</sequence>
</complexType>
</element>
<element name="DisplayBookingResponse">
<complexType>
<sequence>
<element name="DisplayBookingReturn" type="tns1:DisplayBookingResponse"/>
</sequence>
</complexType>
</element>
<element name="CancelBooking">
<complexType>
<sequence>
<element name="in0" type="tns5:CancelBookingRequest"/>
</sequence>
</complexType>
</element>
<element name="CancelBookingResponse">
<complexType>
<sequence>
<element name="CancelBookingReturn" type="tns5:CancelBookingResponse"/>
</sequence>
</complexType>
</element>
</schema>
~~~~~~~~~~~~~~~~~~
Anne Thomas Manes
VP & Research Director
Burton Group