The first thing I notices while looking at your WSDL is the wsdl:imports being used to import XSD documents. This is NOT good. wsdl:import should import wsdl documents and xsd:import should import xsd documents.

Try inserting a <types> section in your document and build a <schema> that imports the xsds. IIRC, you do not need a targetNamespace attribute on the schema "wrapper" element.


<wsdl:Definition ...>
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<xsd:import namespace = "urn:cabinavailability:datatypes:communications:cruise:sabre:com" schemaLocation = "cabinavailability.xsd" />
...the rest...


   </types>
   ...
<wsdl:Definition ...>


Jim Murphy Mindreef, Inc.



Ferguson, Hamish 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:transpor
tationavailability: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  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>



Reply via email to