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>