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:transportationavailability: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:cruise:sabre:com"
schemaLocation="diningavailability.xsd"/><xsd:import
namespace="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>