3 Replies Latest reply on Nov 2, 2006 4:28 PM by Charles McGinnis

    wstools error in wsdl that imports schemas

    Manuel Valladares Newbie

      Hello,
      I want to produce the client code from a wsdl file but I got the following error:

      Exception in thread "main" java.lang.IllegalArgumentException: local part cannot be "null" when creating a QName
      at javax.xml.namespace.QName.<init>(Unknown Source)
      at javax.xml.namespace.QName.<init>(Unknown Source)
      at org.jboss.ws.tools.XSDTypeToJava.handleAttributes(XSDTypeToJava.java:418)
      at org.jboss.ws.tools.XSDTypeToJava.getVARList(XSDTypeToJava.java:198)
      at org.jboss.ws.tools.XSDTypeToJava.createJavaFile(XSDTypeToJava.java:153)
      at org.jboss.ws.tools.XSDTypeToJava.createJavaFile(XSDTypeToJava.java:113)
      at org.jboss.ws.tools.WSDLToJava.generateJavaSource(WSDLToJava.java:497)
      at org.jboss.ws.tools.WSDLToJava.getReturnType(WSDLToJava.java:377)
      at org.jboss.ws.tools.WSDLToJava.appendMethods(WSDLToJava.java:220)
      at org.jboss.ws.tools.WSDLToJava.createSEIFile(WSDLToJava.java:333)
      at org.jboss.ws.tools.WSDLToJava.createSEI(WSDLToJava.java:355)
      at org.jboss.ws.tools.WSDLToJava.generateSEI(WSDLToJava.java:174)
      at org.jboss.ws.tools.helpers.ToolsHelper.handleWSDLToJavaGeneration(ToolsHelper.java:326)
      at org.jboss.ws.tools.WSTools.process(WSTools.java:132)
      at org.jboss.ws.tools.WSTools.generate(WSTools.java:119)
      at org.jboss.ws.tools.WSTools.main(WSTools.java:61)


      The same file with axis produces the code without any problem.

      Here it is the WSDL file:
      <?xml version="1.0" encoding="UTF-8"?>
      <definitions name="OTA_HotelAvail" targetNamespace="http://xmlns.oracle.com/OTA_HotelAvail" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/OTA_HotelAvail" xmlns:ns1="http://www.opentravel.org/OTA/2003/05" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:ns2="http://www.example.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/OTA_HotelAvail">
       <types>
       <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:client="http://xmlns.oracle.com/OTA_HotelAvail" xmlns:ns1="http://www.opentravel.org/OTA/2003/05" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
       <import namespace="http://www.opentravel.org/OTA/2003/05" schemaLocation="xsd/FS_OTA_HotelAvailRQ.xsd"/>
       </schema>
       <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:client="http://xmlns.oracle.com/OTA_HotelAvail" xmlns:ns1="http://www.opentravel.org/OTA/2003/05" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
       <import namespace="http://www.opentravel.org/OTA/2003/05" schemaLocation="xsd/FS_OTA_HotelAvailRS.xsd"/>
       </schema>
       </types>
       <message name="OTA_HotelAvailRequestMessage">
       <part name="payload" element="ns1:OTA_HotelAvailRQ"/>
       </message>
       <message name="OTA_HotelAvailResponseMessage">
       <part name="payload" element="ns1:OTA_HotelAvailRS"/>
       </message>
       <portType name="OTA_HotelAvail">
       <operation name="process">
       <input message="tns:OTA_HotelAvailRequestMessage"/>
       <output message="tns:OTA_HotelAvailResponseMessage"/>
       </operation>
       </portType>
       <binding name="OTA_HotelAvailBinding" type="tns:OTA_HotelAvail">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="process">
       <soap:operation style="document" soapAction="process"/>
       <input>
       <soap:body use="literal"/>
       </input>
       <output>
       <soap:body use="literal"/>
       </output>
       </operation>
       </binding>
       <service name="OTA_HotelAvail">
       <port name="OTA_HotelAvailPort" binding="tns:OTA_HotelAvailBinding">
       <soap:address location="http://213.4.56.4:7778/orabpel/Clientes/OTA_HotelAvail/1.0"/>
       </port>
       </service>
       <plnk:partnerLinkType name="OTA_HotelAvail">
       <plnk:role name="OTA_HotelAvailProvider">
       <plnk:portType name="tns:OTA_HotelAvail"/>
       </plnk:role>
       </plnk:partnerLinkType>
      </definitions>


      The schema files are the following. Sorry for the size (xsd/FS_OTA_HotelAvailRQ.xsd):
      <?xml version="1.0" encoding="UTF-8"?>
      <xs:schema targetNamespace="http://www.opentravel.org/OTA/2003/05" elementFormDefault="qualified" version="1.005" id="OTA2005B" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      
       <xs:annotation>
       <xs:documentation xml:lang="en">All Schema files in the OTA specification are made available according to the terms defined by the OTA License Agreement at http://www.opentravel.org/ota_downloads_form.cfm</xs:documentation>
       </xs:annotation>
       <xs:element name="OTA_HotelAvailRQ">
       <xs:annotation>
       <xs:documentation xml:lang="en">Requests availability of hotel properties by specific criteria that may include: dates, date ranges, price range, room types, regular and qualifying rates, and/or services and amenities. The availability message can be used to get an initial availability or to get availability for the purpose of modifying an existing reservation.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="POS" type="POS_Type" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Point of sale object. </xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="AvailRequestSegments">
       <xs:complexType>
       <xs:complexContent>
       <xs:extension base="AvailRequestSegmentsType">
       <xs:attribute name="MaximumWaitTime" type="xs:decimal" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The value of this attribute will be a decimal field identifying the maximum number of seconds the responding application has to respond to the request. For example, suppose a client requests 10 OTA 'AvailRequestSegment' items but can only wait up to 4.0 seconds max. If only 6 segments were collected within the time-frame, the client would only receive those 6 segments within one response message. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:complexContent>
       </xs:complexType>
       </xs:element>
       <xs:element name="HotelReservationIDs" type="HotelReservationIDsType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Collection of Hotel Reservation IDs associated with a given reservation, used when asking for availability for the purpose of modifying an existing reservation.</xs:documentation>
       </xs:annotation>
       </xs:element>
       </xs:sequence>
       <xs:attributeGroup ref="OTA_PayloadStdAttributes"/>
       <xs:attribute name="SummaryOnly" type="xs:boolean" use="optional"/>
       <xs:attribute name="SortOrder" use="optional" default="A">
       <xs:simpleType>
       <xs:restriction base="AlphaLength1">
       <xs:enumeration value="A"/>
       <xs:enumeration value="D"/>
       <xs:enumeration value="N"/>
       </xs:restriction>
       </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="AvailRatesOnly" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A boolean flag that indicates the response should include ONLY those rates that are available in the date range specified, or whether rates that are NOT available should be shown. "Yes" returns only available rates; "No" returns all rates.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="BestOnly" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A boolean flag that indicates the response message should send back only the best rate available at the hotel property, as there could be multiple room types and rates that meet the requested criteria (e.g.: rate range). Allowing that the term "best rate" is subjective, the intent means the lowest rate that meets the category of the input criteria, and may have the effect of limiting the return to one rate quote as opposed to multiples.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RateRangeOnly" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A boolean flag that indicates the response message should send back only those rates that are available within the range of the minimum and maximum amount specified.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ExactMatchOnly" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A boolean flag that indicates the response message should send back only those rates that are an exact match to the requested criteria.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="AllowPartialAvail" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A boolean flag that indicates the response message should include availability and rates that do not span the complete stay.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RequestedCurrency" type="AlphaLength3" use="optional"/>
       <xs:attribute name="IsModify" type="xs:boolean" use="optional" default="false">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates that this is an availibility request for a modification to an existing reservation.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="MaxResponsesGroup"/>
       <xs:attribute name="SearchCacheLevel" use="optional">
       <xs:simpleType>
       <xs:restriction base="xs:NMTOKEN">
       <xs:enumeration value="Live"/>
       <xs:enumeration value="VeryRecent"/>
       <xs:enumeration value="LessRecent"/>
       </xs:restriction>
       </xs:simpleType>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       <xs:complexType name="AvailRequestSegmentsType">
       <xs:sequence>
       <xs:element name="AvailRequestSegment" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">To accommodate the ability to perform multiple requests within one message, the availability request contains the repeating element, BookingSegment. Each booking segment includes a collection of criteria that requests a bookable entity, which may include designated rate plans, room types, amenities or services, and the request can be used for guest rooms or other inventory items for which availability is sought. Each Booking Segment would be presumed to have a unique date range for each request.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="StayDateRange" type="DateTimeSpanType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Range of dates, or fixed set of dates for Availability Request. Date range can also be specified by using start dates and number of nights (minimum, maximum or fixed). **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="RateRange" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Requested rate or rate range. Repeats to allow the identification of multiple ranges for multiple room stay candidates. **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:complexContent>
       <xs:extension base="RateRangeType">
       <xs:attribute name="RoomStayCandidateRPH" type="RPH_Type" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to associate a rate range with a room stay candidate.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:complexContent>
       </xs:complexType>
       </xs:element>
       <xs:element name="RatePlanCandidates" type="RatePlanCandidatesType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">**This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="Profiles" type="ProfilesType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">A collection of profile objects or unique IDs of profiles.
       **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="RoomStayCandidates" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Collection of room stay candidates. **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="RoomStayCandidate" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Element used to identify available room products.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:complexContent>
       <xs:extension base="RoomStayCandidateType">
       <xs:attribute name="IsAlternate" type="xs:boolean" use="optional" default="false">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the segment of the RoomStay is an alternate offer. Default=false.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:complexContent>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType>
       </xs:element>
       <xs:element name="HotelSearchCriteria" type="HotelSearchCriteriaType" minOccurs="0"/>
       <xs:element ref="TPA_Extensions" minOccurs="0"/>
       </xs:sequence>
       <xs:attribute name="AvailReqType">
       <xs:annotation>
       <xs:documentation xml:lang="en">An enumerated type that indicates whether the availability request is for a room or non-room product, such as amenities or other activities (e.g.: banquet, conference room, etc.). Values: Room, NonRoom, Both.</xs:documentation>
       </xs:annotation>
       <xs:simpleType>
       <xs:restriction base="StringLength1to16">
       <xs:enumeration value="Room"/>
       <xs:enumeration value="NonRoom"/>
       <xs:enumeration value="Both"/>
       </xs:restriction>
       </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="MoreDataEchoToken" type="StringLength1to128">
       <xs:annotation>
       <xs:documentation xml:lang="en">The availability response returns the attribute if there were additional rates that could not fit within the availability response. The text value should be echoed in this availability request to indicate where to begin the next block of availability data. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="ResponseTypeGroup"/>
       <xs:attribute name="InfoSource" type="InfoSourceType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to specify the source of the data being exchanged as determined by trading partners. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType>
      <!-- OTA_HotelCommonTypes.xsd --><xs:complexType name="GuestCountType">
       <xs:annotation>
       <xs:documentation xml:lang="en">A collection of GuestCount by age group.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="GuestCount" maxOccurs="99">
       <xs:annotation>
       <xs:documentation xml:lang="en">A recurring element that identifies the number of guests and ages of the guests in the request that determines the rates based on business rules for occupancy at each property. </xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attributeGroup ref="GuestCountGroup"/>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       <xs:attribute name="IsPerRoom" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">IsPerRoom means that the guests defined in the GuestCounts object apply to each room in the NumberOfRooms for the RoomStay. Value of "false" means that the guests defined in the GuestCounts object apply to all rooms combined in the NumberOfRooms for the RoomStay.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType><xs:complexType name="HotelReservationIDsType">
       <xs:annotation>
       <xs:documentation xml:lang="en">A Collection of HotelReservationID objects for a given reservation. The collection of all ReservationIDs can include Passenger Name Record (PNR), Guest Name Record (GNR) and Guest Folio numbers. Associated with each can be a Confirmation number which is usually given to the guest.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="HotelReservationID" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">The HotelReservationID object contains various unique (ReservationID) and non unique (ConfirmationID, CancellationID) identifiers that the trading partners associate with a given reservation.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attribute name="ResID_Type" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Defines the type of Reservation ID (e.g. reservation number, cancellation number). Refer to OTA Code List Unique ID Type (UIT).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ResID_Value" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">This is the actual value associated with ResID_Type as generated by the system that is the source of the ResID_Type</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ResID_Source" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A unique identifier to indicate the source system which generated the ResID_Value</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ResID_SourceContext" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Additional information on Source </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ResID_Date" type="xs:dateTime" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Date of the creation of this reservation.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ForGuest" type="xs:boolean" default="false">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to determine if the ResID_Value is given to guest</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="ResGuestRPH" type="RPH_Type" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">This is a reference placeholder, used as an index for this guest in this reservation. In the ResGuest object it is used like all other RPH attributes to send the delta of a reservation. It is used by the RoomStay and Service objects to indicate which guests are associated with that room stay or service. It is also used to link a guest with a ReservationID</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="CancelOriginatorCode" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifying code of the system that initiated the cancel of this reservation.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="CancellationDate" type="xs:dateTime" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Date this reservation was cancelled. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType><xs:complexType name="HotelSearchCriteriaType">
       <xs:annotation>
       <xs:documentation xml:lang="en">A collection of single search criterion items.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="Criterion" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Child elements that identify a single search criterion by criteria type. Because many of the types include partial matches to string values such as partial addresses (street names without a number) or partial telephone numbers (area code or three-digit prefix area, etc.) a ExactMatch attribute indicates whether the match to the string value must be exact.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:complexContent>
       <xs:extension base="HotelSearchCriterionType">
       <xs:attribute name="MoreDataEchoToken" type="StringLength1to128" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The search response returns this attribute if there were additional items that could not fit within the response. The text value returned should be echoed in the subsequent request to indicate where to begin the next block of data. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="InfoSource" type="InfoSourceType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to specify the source of the data being exchanged as determined by trading partners. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:complexContent>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType><xs:complexType name="HotelSearchCriterionType">
       <xs:annotation>
       <xs:documentation xml:lang="en">A collection of Profile objects or Unique IDs of Profiles.</xs:documentation>
       </xs:annotation>
       <xs:complexContent>
       <xs:extension base="ItemSearchCriterionType">
       <xs:sequence>
       <xs:element name="HotelAmenity" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Hotel level amenities for searches.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attribute name="Code" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Refer to OTA Code List Hotel Amenity Code (HAC).
       </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       <xs:element name="RoomAmenity" type="RoomAmenityPrefType" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Room level amenities for searches.</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="Award" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">An element that identifies the hotel ratings. </xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attribute name="Provider" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The name of the award or ratings provider.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Rating" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The actual award or rating received by the hotel facility. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       <xs:element name="Recreation" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies recreation facilities or amenities of interest.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attribute name="Code" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to identify a specific recreation activity. Refer to OTA code list Recreation Srvc Type (RST).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       <xs:element name="Service" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies services of interest.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attribute name="BusinessServiceCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to identify a specific business service. Refer to OTA code list Business Srvc Type (BUS).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       <xs:element name="Transportation" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies transportation facilities.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attribute name="Code" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to define the mode of available transportation. Refer to OTA Code List Transportation Code (TRP).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       <xs:element name="StayDateRange" type="DateTimeSpanType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Range of dates, or fixed set of dates for Availability Request. Date range can also be specified by using start dates and number of nights (minimum, maximum or fixed).</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="RateRange" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">Requested rate or rate range. Repeats to allow the identification of multiple ranges for multiple room stay candidates.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:complexContent>
       <xs:extension base="RateRangeType">
       <xs:attribute name="RoomStayCandidateRPH" type="RPH_Type" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to associate a rate range with a room stay candidate.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:complexContent>
       </xs:complexType>
       </xs:element>
       <xs:element name="RatePlanCandidates" type="RatePlanCandidatesType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Collection of requested rate plans.</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="Profiles" type="ProfilesType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">A collection of profile objects or unique IDs of profiles.
      </xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="RoomStayCandidates" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Collection of room stay candidates.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="RoomStayCandidate" type="RoomStayCandidateType" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Element used to identify available room products.</xs:documentation>
       </xs:annotation>
       </xs:element>
       </xs:sequence>
       </xs:complexType>
       </xs:element>
       <xs:element ref="TPA_Extensions" minOccurs="0"/>
       </xs:sequence>
       </xs:extension>
       </xs:complexContent>
       </xs:complexType><xs:complexType name="RatePlanCandidatesType">
       <xs:sequence>
       <xs:element name="RatePlanCandidate" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Element used to identify available products and rates.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="HotelRefs" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">A collection of hotel identifiers to which the rate plan applies.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="HotelRef" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Information to identify one or more hotels.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:attributeGroup ref="HotelReferenceGroup"/>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       <xs:attributeGroup ref="RatePlanGroup"/>
       <xs:attribute name="RPH" type="RPH_Type" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A unique identifier for this rate plan candidate.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       </xs:complexType><xs:complexType name="RateRangeType">
       <xs:annotation>
       <xs:documentation xml:lang="en">A range of monetary values within which the cost of the available products are requested.</xs:documentation>
       </xs:annotation>
       <xs:attribute name="MinRate" type="Money" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A decimal value that indicates the minimum monetary value to be considered in a request for an available product.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="MaxRate" type="Money" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A decimal value that indicates the maximum monetary value to be considered in a request for an available product.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="FixedRate" type="Money" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The rate amount used in place of MinRate and MaxRate when a specific rate is being requested.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RateTimeUnit" type="TimeUnitType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to specify the period of time to which the rates apply.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="CurrencyCodeGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to provide currency code and decimal places for the rate attributes.</xs:documentation>
       </xs:annotation>
       </xs:attributeGroup>
       </xs:complexType><xs:complexType name="RoomStayCandidateType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to identify available room products.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="GuestCounts" type="GuestCountType" minOccurs="0"/>
       <xs:element name="RoomAmenity" type="RoomAmenityPrefType" minOccurs="0" maxOccurs="5">
       <xs:annotation>
       <xs:documentation xml:lang="en">This element is used to pass room attributes. Typical attributes are smoking, non-smoking, wheelchair access, room location (low floor, high floor, close to elevator, etc) and view (garden, pool, ocean, etc)</xs:documentation>
       </xs:annotation>
       </xs:element>
       </xs:sequence>
       <xs:attributeGroup ref="RoomGroup"/>
       <xs:attribute name="RPH" type="RPH_Type" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A unique identifier for this room stay candidate. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RatePlanCandidateRPH" type="RPH_Type" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to refer to the Rate Plan Candidate associated with this room stay.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType><xs:attributeGroup name="GuestCountGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">Defines the number of guests.</xs:documentation>
       </xs:annotation>
       <xs:attribute name="AgeQualifyingCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A code representing a business rule that determines the charges for a guest based upon age range (e.g. Adult, Child, Senior, Child With Adult, Child Without Adult). This attribute allows for an increase in rate by occupant class. Refer to OTA Code List Age Qualifying Code (AQC).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Age" type="Numeric0to999" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Defines the age of a guest.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Count" type="Numeric1to999" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The number of guests in one AgeQualifyingCode or Count.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:attributeGroup><xs:attributeGroup name="RatePlanGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">The RatePlanCode assigned by the receiving system for the inventory item in response to a new rate plan notification. (Implementation Notes: This would only be returned when the notification is of type New and the sender is translating RatePlanCode values.
      On subsequent transactions for this rate plan, the sender would populate the RatePlanCode attribute with this value returned by the receiver.)</xs:documentation>
       </xs:annotation>
       <xs:attribute name="RatePlanType" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">An enumerated type that allows the query to specify a rate category type, and provides major categories for comparison across brands. Refer to OTA Code List Rate Plan Type (RPT).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RatePlanCode" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A string value may be used to request a particular code or an ID if the guest qualifies for a specific rate, such as AARP, AAA, a corporate rate, etc., or to specify a negotiated code as a result of a negotiated rate.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RatePlanID" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A text field used to indicate a special ID code that is associated with the rate and is essential in the reservation request in order to obtain the rate. Examples are Corporate ID.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RatePlanQualifier" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">The Rate Plan Qualifier is used to control the sort order of RatePlans. Those Rate Plans that are not qualified will appear first, those that are qualified will appear last.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="PromotionCodeGroup"/>
       <xs:attribute name="RatePlanCategory" type="StringLength1to64" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Hotel systems often group multiple rate plans into a single category. This refers to that category that is specific to the hotel CRS/PMS and should not be confused with a GDS rate category. </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:attributeGroup><xs:attributeGroup name="ResponseTypeGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the type of data to be returned, either a list of hotel records or a list of area (city/reference) codes.</xs:documentation>
       </xs:annotation>
       <xs:attribute name="ResponseType" default="PropertyList">
       <xs:annotation>
       <xs:documentation xml:lang="en">Defines whether the response is a propety list or an area list.</xs:documentation>
       </xs:annotation>
       <xs:simpleType>
       <xs:restriction base="StringLength1to16">
       <xs:enumeration value="PropertyList"/>
       <xs:enumeration value="AreaList"/>
       <xs:enumeration value="PropertyRateList">
       <xs:annotation>
       <xs:documentation xml:lang="en">Provides the ability to control if rate information is to be returned within the response.</xs:documentation>
       </xs:annotation>
       </xs:enumeration>
       <xs:enumeration value="RateInfoDetails">
       <xs:annotation>
       <xs:documentation xml:lang="en">Provides the ability to request full complete rate details for a specific rate plan(s).</xs:documentation>
       </xs:annotation>
       </xs:enumeration>
       <xs:enumeration value="ProfilePrefs">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates that the reply content reflects active profile preferences.</xs:documentation>
       </xs:annotation>
       </xs:enumeration>
       </xs:restriction>
       </xs:simpleType>
       </xs:attribute>
       </xs:attributeGroup><xs:attributeGroup name="RoomGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">Used to define a room (eg. its location, configuration, view).</xs:documentation>
       </xs:annotation>
       <xs:attribute name="RoomType" type="StringLength1to16" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">(formerly, RoomInventoryCode) A code value that indicates the type of room for which this request is made, e.g.: double, king, etc. Values may use the Hotel Descriptive Content table or a codes specific to the property or hotel brand.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RoomTypeCode" type="StringLength1to16" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Specific system room type code, ex: A1K, A1Q etc.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RoomCategory" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the category of the room. Typical values would be Moderate, Standard, or Deluxe. Refer to OTA Code List Segment Category Code (SEG).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RoomID" type="StringLength1to16" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A string value representing the unique identification of a room if the request is looking for a specific room.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Floor" type="Numeric1to999" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Floor on which the room is located.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="InvBlockCode" type="StringLength1to32" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">A code or identification number that identifies the room stay as part of a group, package tour, or block of rooms designated in the inventory.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="PromotionCodeGroup"/>
       <xs:attribute name="RoomLocationCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the location of the room within the hotel structure. Typical values would be "Near Exit","Close to elevator", "Low Floor" or "High Floor". Refer to OTA Code List Romm Location Type (RLT).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RoomViewCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the view of the room. Typical values would be "Ocean view", "Pool view" or "Garden View". Refer to OTA Code List Room View Type (RVT).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="BedTypeCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the type of bed(s) found in the room. Typical values would be Double, Twin, Queen, or King. Refer to OTA Code List Bed Type Code (BED).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="NonSmoking" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Non-smoking indicator.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Configuration" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Textual description of room configuration.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="SizeMeasurement" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Textual description of room dimensions.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Quantity" type="Numeric1to999" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Defines the number of the item in question.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Composite" type="xs:boolean" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates that the room (suite) is a composite of smaller units.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RoomClassificationCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Specifies the room classification (e.g., cabin, apartment). Refer to OTA Code List Guest Room Info (GRI).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="RoomArchitectureCode" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Specifies the architectural style of a room. Refer to OTA Code List Architectural Style Code (ARC).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:attributeGroup><!-- OTA_CommonPrefs.xsd --><xs:complexType name="AddressPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Address(es) to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="Address" type="AddressInfoType"/>
       </xs:sequence>
       <xs:attributeGroup ref="PrivacyGroup"/>
       </xs:complexType><xs:complexType name="CommonPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Travel needs associated with a collection but independent of specific travel services.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="NamePref" type="NamePrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="PhonePref" type="PhonePrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="AddressPref" type="AddressPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="PaymentFormPref" type="PaymentFormPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="InterestPref" type="InterestPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="InsurancePref" type="InsurancePrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="SeatingPref" type="SeatingPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="TicketDistribPref" type="TicketDistribPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="MediaEntertainPref" type="MediaEntertainPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="PetInfoPref" type="PetInfoPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="MealPref" type="MealPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="LoyaltyPref" type="LoyaltyPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="SpecRequestPref" type="SpecRequestPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="RelatedTravelerPref" type="RelatedTravelerPrefType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element ref="TPA_Extensions" minOccurs="0"/>
       </xs:sequence>
       <xs:attributeGroup ref="PrivacyGroup"/>
       <xs:attributeGroup ref="SmokingIndicatorGroup"/>
       <xs:attributeGroup ref="PrimaryLangID_Group"/>
       <xs:attributeGroup ref="AltLangID_Group"/>
       </xs:complexType><xs:complexType name="CompanyNamePrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies a preferred company by name.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="CompanyNameType">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="InsurancePrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies travel insurance policies to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attribute name="RPH" type="RPH_Type">
       <xs:annotation>
       <xs:documentation xml:lang="en">Index number to be used for reference the insurance policy to be used in this travel collection.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="InterestPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Traveler interests to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="LoyaltyPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Loyalty programs to be used with this collection.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attribute name="RPH" type="RPH_Type">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identification of loyalty program by reference number or index.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="MealPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Food and beverage preferences to be used with this collection.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength0to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attribute name="MealType" type="MealType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Type of meal required (e.g.,vegetarian, Kosher, low fat, etc.)</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="FavoriteFood" type="StringLength1to64">
       <xs:annotation>
       <xs:documentation xml:lang="en">Dining preferences used with this collection.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="Beverage" type="StringLength1to64">
       <xs:annotation>
       <xs:documentation xml:lang="en">Type of drink(s) preferred.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="MediaEntertainPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Media and entertainment information preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="NamePrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">PersonName to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="UniqueID" type="UniqueID_Type"/>
       <xs:element name="PersonName" type="PersonNameType"/>
       </xs:sequence>
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:complexType><xs:complexType name="OtherSrvcPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Other travel service preferences.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="OtherSrvcName" type="StringLength1to32">
       <xs:annotation>
       <xs:documentation xml:lang="en">Name of other travel services identified in this collection of preferences.</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="VendorPref" type="CompanyNamePrefType" minOccurs="0" maxOccurs="5"/>
       <xs:element name="LoyaltyPref" type="LoyaltyPrefType" minOccurs="0" maxOccurs="5"/>
       <xs:element name="PaymentFormPref" type="PaymentFormPrefType" minOccurs="0" maxOccurs="5"/>
       <xs:element name="SpecRequestPref" type="SpecRequestPrefType" minOccurs="0" maxOccurs="5"/>
       <xs:element ref="TPA_Extensions" minOccurs="0"/>
       </xs:sequence>
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attributeGroup ref="PrivacyGroup"/>
       <xs:attribute name="TravelPurpose" type="OTA_CodeType" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Refer to OTA Code List Travel Purpose (TVP).
       </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType><xs:complexType name="PaymentFormPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Form(s) of payment to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attribute name="RPH" type="RPH_Type"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="PetInfoPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Indicates the preferences for information about pets that accompany the customer in a given travel situation.
       </xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="PhonePrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Telephone number(s) to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="Telephone" type="TelephoneInfoType"/>
       </xs:sequence>
       </xs:complexType><xs:complexType name="RelatedTravelerPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Name(s) of related travelers to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="UniqueID" type="UniqueID_Type"/>
       </xs:sequence>
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:complexType><xs:complexType name="SeatingPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Seating preferences to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength0to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attribute name="SeatDirection" type="StringLength1to16" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Direction seat faces during travel, when conveyance allows.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="SeatLocation" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Location of seat in cabin of conveyance. Suggested values include: Forward, Middle, Aft, ExitRow, Bulkhead, Right or Left Side, etc.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="SeatPosition" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Preferred position of seat in a row, such as Aisle, Middle, Center, Window, etc.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="SeatRow" type="xs:string" use="optional">
       <xs:annotation>
       <xs:documentation xml:lang="en">Preferred row for seating, indicates specific row number and/or seat identifier.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="SpecRequestPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Special request to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength1to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="TicketDistribPrefType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Type of ticket distribution to be used with this collection of preferences.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="StringLength0to64">
       <xs:attributeGroup ref="PreferLevelGroup"/>
       <xs:attribute name="DistribType" type="OTA_CodeType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Ticket distribution method such as Fax, Email, Courier, Mail, Airport_Pickup, City_Office, Hotel_Desk,
       WillCall, etc. Refer to OTA Code List Distribution Type (DTB).</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="TicketTime" type="xs:duration">
       <xs:annotation>
       <xs:documentation xml:lang="en">Ticket turnaround time desired, amount of time requested to deliver tickets.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><!-- OTA_Profile.xsd --><xs:complexType name="AccessesType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Element to capture creation and last update data.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="Access" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Describes the action taken on the record.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:sequence>
       <xs:element name="AccessPerson" type="PersonNameType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Name of individual who originated or updated record.</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="AccessComment" type="FreeTextType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Free text comment added by the person accessing the profile record. </xs:documentation>
       </xs:annotation>
       </xs:element>
       </xs:sequence>
       <xs:attribute name="ActionType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Type of action taken on the profile. </xs:documentation>
       </xs:annotation>
       <xs:simpleType>
       <xs:restriction base="xs:NMTOKEN">
       <xs:enumeration value="Create"/>
       <xs:enumeration value="Read"/>
       <xs:enumeration value="Update"/>
       <xs:enumeration value="Delete"/>
       </xs:restriction>
       </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="ActionDateTime" type="xs:dateTime">
       <xs:annotation>
       <xs:documentation xml:lang="en">Month, day, year and optionally in hour, minute, second of day in ISO 8601 format of the action taken on the profile.
       </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="ID_Group">
       <xs:annotation>
       <xs:documentation xml:lang="en">The identifier of the system that performed the action on the profile record. </xs:documentation>
       </xs:annotation>
       </xs:attributeGroup>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       <xs:attributeGroup ref="PrivacyGroup"/>
       <xs:attribute name="CreateDateTime" type="xs:dateTime">
       <xs:annotation>
       <xs:documentation xml:lang="en">Month, day, year and optionally hour, minute, second of day the profile originated, in ISO 8601 format.
       </xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:complexType><xs:complexType name="AffiliationsType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Defines an entity that provides travel services or benefits to a customer or company.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="Organization" type="OrganizationType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="Employer" type="EmployerType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="TravelClub" type="TravelClubType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="Insurance" type="InsuranceType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element ref="TPA_Extensions" minOccurs="0"/>
       </xs:sequence>
       <xs:attributeGroup ref="PrivacyGroup"/>
       </xs:complexType><xs:complexType name="AgreementsType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Section of a business profile that contains information about trading partner agreements.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="Certification" type="CertificationType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="AllianceConsortium" type="AllianceConsortiumType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="CommissionInfo" type="CommissionInfoType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element ref="TPA_Extensions" minOccurs="0"/>
       </xs:sequence>
       <xs:attributeGroup ref="PrivacyGroup"/>
       </xs:complexType><xs:complexType name="AllianceConsortiumType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Provides information about alliance partnerships and consortiums of members grouped together to obtain trading partner agreements for travel service and privileges.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="AllianceMember" minOccurs="0" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identification of a company that participates in an alliance or consortium to which the primary
       business entity identified in this profile belongs.</xs:documentation>
       </xs:annotation>
       <xs:complexType>
       <xs:simpleContent>
       <xs:extension base="CompanyNameType">
       <xs:attribute name="MemberCode" type="StringLength1to8">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies the alliance or consortium member by code.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType>
       </xs:element>
       </xs:sequence>
       <xs:attributeGroup ref="ID_OptionalGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identification of the alliance or partnership in which the business entity is a member.</xs:documentation>
       </xs:annotation>
       </xs:attributeGroup>
       <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
       </xs:complexType><xs:complexType name="CertificationType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Information about certifications or accreditation held by the company.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="FreeTextType">
       <xs:attributeGroup ref="ID_OptionalGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">The Certification Identification number assigned to a business entity by the certifying body. This number would presumably be the ID in the Unique ID. </xs:documentation>
       </xs:annotation>
       </xs:attributeGroup>
       <xs:attributeGroup ref="SingleVendorIndGroup"/>
       <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="CommissionInfoType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Contains information about agreements for commission arrangements with the business entity.</xs:documentation>
       </xs:annotation>
       <xs:simpleContent>
       <xs:extension base="FreeTextType">
       <xs:attributeGroup ref="PrivacyGroup"/>
       <xs:attribute name="CommissionPlanCode" type="StringLength1to32">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies a commission plan agreement between trading partners by plan code.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attributeGroup ref="CurrencyAmountGroup">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifies a rate for paying commissions; can be a decimal value based on percentage paid
       for the commission plan, or a flat rate.</xs:documentation>
       </xs:annotation>
       </xs:attributeGroup>
       </xs:extension>
       </xs:simpleContent>
       </xs:complexType><xs:complexType name="CompanyInfoType">
       <xs:sequence>
       <xs:element name="CompanyName" type="CompanyNameType" maxOccurs="unbounded"/>
       <xs:element name="AddressInfo" type="AddressInfoType" maxOccurs="unbounded"/>
       <xs:element name="TelephoneInfo" type="TelephoneInfoType" maxOccurs="unbounded"/>
       <xs:element name="Email" type="EmailType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="URL" type="URL_Type" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="BusinessLocale" type="AddressType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="PaymentForm" type="PaymentFormType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="ContactPerson" type="ContactPersonType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="LoyaltyProgram" type="LoyaltyProgramType" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       </xs:complexType><xs:complexType name="EmployerType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Company or organization that employs the customer.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="CompanyName" type="CompanyNameType" minOccurs="0"/>
       <xs:element name="RelatedEmployer" type="CompanyNameType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="EmployeeInfo" type="EmployeeInfoType" minOccurs="0" maxOccurs="3"/>
       <xs:element name="InternalRefNmbr" type="FreeTextType" minOccurs="0" maxOccurs="unbounded">
       <xs:annotation>
       <xs:documentation xml:lang="en">Accounting code(s) assigned to travel for employer.</xs:documentation>
       </xs:annotation>
       </xs:element>
       <xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="LoyaltyProgram" type="LoyaltyProgramType" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attributeGroup ref="DefaultIndGroup"/>
       <xs:attributeGroup ref="OfficeTypeGroup"/>
       <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
       </xs:complexType><xs:complexType name="InsuranceType">
       <xs:annotation>
       <xs:documentation xml:lang="en">Travel insurance carried by the customer or company.</xs:documentation>
       </xs:annotation>
       <xs:sequence>
       <xs:element name="InsuredName" type="PersonNameType" minOccurs="0"/>
       <xs:element name="InsuranceCompany" type="CompanyNameType" minOccurs="0"/>
       <xs:element name="Underwriter" type="CompanyNameType" minOccurs="0">
       <xs:annotation>
       <xs:documentation xml:lang="en">Underwriting company providing coverage.</xs:documentation>
       </xs:annotation>
       </xs:element>
       </xs:sequence>
       <xs:attributeGroup ref="PrivacyGroup"/>
       <xs:attribute name="InsuranceType" type="StringLength1to32">
       <xs:annotation>
       <xs:documentation xml:lang="en">Type of insurance policy carried by the individual or company.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs:attribute name="PolicyNumber" type="StringLength1to32" use="required">
       <xs:annotation>
       <xs:documentation xml:lang="en">Identifier assigned by insurance company to the insurance policy.</xs:documentation>
       </xs:annotation>
       </xs:attribute>
       <xs


        • 1. Re: wstools error in wsdl that imports schemas
          Charles McGinnis Newbie

          I am getting the same error trying to import a WSDL as follows

          <?xml version="1.0" encoding="UTF-8"?>
          <wsdl:definitions name="escorte4js" targetNamespace="http://www.techniques.org/escorte4js"
           xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:es4js="http://www.techniques.org/escorte4js"
           xmlns:cocd="http://ltsc.ieee.org/xsd/1484_11_3" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
           xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
           xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
           <wsdl:types>
           <xsd:schema targetNamespace="http://ltsc.ieee.org/xsd/1484_11_3" elementFormDefault="qualified">
           <xsd:include schemaLocation="./draft_ieee_1484_11_3.xsd"/>
           </xsd:schema>
           <xsd:schema targetNamespace="http://www.techniques.org/escorte4js"
           xmlns:es4js="http://www.techniques.org/escorte4js"
           xmlns:cocd="http://ltsc.ieee.org/xsd/1484_11_3" elementFormDefault="qualified">
           <xsd:import namespace="http://ltsc.ieee.org/xsd/1484_11_3"/>
           <xsd:element name="escorte4js" type="es4js:escorte4jsType"/>
           <xsd:element name="Initialize">
           <xsd:annotation>
           <xsd:documentation>Document literal wrapper for the Initialize action.</xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
           <xsd:sequence>
           <xsd:element minOccurs="0" maxOccurs="1" name="escorte4js" type="es4js:escorte4jsType"/>
           </xsd:sequence>
           </xsd:complexType>
           </xsd:element>
           <xsd:element name="Quit">
           <xsd:annotation>
           <xsd:documentation>Document literal wrapper for the Quit action.</xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
           <xsd:sequence>
           <xsd:element minOccurs="0" maxOccurs="1" name="escorte4js" type="es4js:escorte4jsType"/>
           </xsd:sequence>
           </xsd:complexType>
           </xsd:element>
           <xsd:element name="Terminate">
           <xsd:annotation>
           <xsd:documentation>Document literal wrapper for the Terminate action.</xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
           <xsd:sequence>
           <xsd:element minOccurs="1" maxOccurs="1" name="escorte4js" type="es4js:escorte4jsType"/>
           </xsd:sequence>
           </xsd:complexType>
           </xsd:element>
           <xsd:element name="Commit">
           <xsd:annotation>
           <xsd:documentation>Document literal wrapper for the Commit action.</xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
           <xsd:sequence>
           <xsd:element minOccurs="1" maxOccurs="1" name="escorte4js" type="es4js:escorte4jsType"/>
           </xsd:sequence>
           </xsd:complexType>
           </xsd:element>
           <xsd:complexType name="escorte4jsType">
           <xsd:annotation>
           <xsd:documentation>Encapsulates information needed to uniquely identify a SCO data
           instance in the server runtime environment.</xsd:documentation>
           </xsd:annotation>
           <xsd:sequence>
           <xsd:element minOccurs="0" maxOccurs="1" ref="cocd:cocd"/>
           <!-- <xsd:element minOccurs="0" maxOccurs="1" name="cocd" type="cocd:cocdType"/> -->
           </xsd:sequence>
           <xsd:attribute name="action" use="required">
           <xsd:annotation>
           <xsd:documentation>Identifies the desired action the server should perform for this
           request.</xsd:documentation>
           </xsd:annotation>
           <xsd:simpleType>
           <xsd:restriction base="xsd:token">
           <xsd:enumeration value="Initialize"/>
           <xsd:enumeration value="Terminate"/>
           <xsd:enumeration value="Commit"/>
           <xsd:enumeration value="Quit"/>
           </xsd:restriction>
           </xsd:simpleType>
           </xsd:attribute>
           <xsd:attribute name="sco" use="optional" type="xsd:string">
           <xsd:annotation>
           <xsd:documentation>Identifies the item for this SCO defined in the
           imsmanifest.xml.</xsd:documentation>
           </xsd:annotation>
           </xsd:attribute>
           <xsd:attribute name="org" use="optional" type="xsd:string">
           <xsd:annotation>
           <xsd:documentation>Identifies the appropriate CAM organization.</xsd:documentation>
           </xsd:annotation>
           </xsd:attribute>
           <xsd:attribute name="course" use="optional" type="xsd:string">
           <xsd:annotation>
           <xsd:documentation>Identifies the course, such as content package
           identifier.</xsd:documentation>
           </xsd:annotation>
           </xsd:attribute>
           <xsd:attribute name="learner" use="optional" type="xsd:string">
           <xsd:annotation>
           <xsd:documentation>Identifies the learner.</xsd:documentation>
           </xsd:annotation>
           </xsd:attribute>
           <xsd:attribute name="adlNavRequest" use="optional" type="xsd:string">
           <xsd:annotation>
           <xsd:documentation>Specifies the adl.nav.request element for this
           SCO.</xsd:documentation>
           </xsd:annotation>
           </xsd:attribute>
           </xsd:complexType>
           </xsd:schema>
           </wsdl:types>
           <wsdl:message name="InitializeRequest">
           <wsdl:part name="body" element="es4js:Initialize"/>
           </wsdl:message>
           <wsdl:message name="InitializeResponse">
           <wsdl:part name="body" element="es4js:escorte4js"/>
           </wsdl:message>
           <wsdl:message name="QuitRequest">
           <wsdl:part name="body" element="es4js:Quit"/>
           </wsdl:message>
           <wsdl:message name="TerminateRequest">
           <wsdl:part name="body" element="es4js:Terminate"/>
           </wsdl:message>
           <wsdl:message name="CommitRequest">
           <wsdl:part name="body" element="es4js:Commit"/>
           </wsdl:message>
           <!-- Errors on server sent back as SOAP faults -->
           <wsdl:message name="NoResponse"/>
           <wsdl:portType name="eSCORTE4JSPortType">
           <wsdl:operation name="Initialize">
           <wsdl:documentation>Initializes the SCO-to-LMS communication session.</wsdl:documentation>
           <wsdl:input message="es4js:InitializeRequest"/>
           <wsdl:output message="es4js:InitializeResponse"/>
           </wsdl:operation>
           <wsdl:operation name="Terminate">
           <wsdl:documentation>Terminates the SCO-to-LMS communication session.</wsdl:documentation>
           <wsdl:input message="es4js:TerminateRequest"/>
           <wsdl:output message="es4js:NoResponse"/>
           </wsdl:operation>
           <wsdl:operation name="Commit">
           <wsdl:documentation>Commits any uncommitted tracking data.</wsdl:documentation>
           <wsdl:input message="es4js:CommitRequest"/>
           <wsdl:output message="es4js:NoResponse"/>
           </wsdl:operation>
           <wsdl:operation name="Quit">
           <wsdl:documentation>Notifies the server that the learner wishes to quit the learning session.</wsdl:documentation>
           <wsdl:input message="es4js:QuitRequest"/>
           <wsdl:output message="es4js:NoResponse"/>
           </wsdl:operation>
           </wsdl:portType>
           <wsdl:binding name="eSCORTE4JSSOAPBinding" type="es4js:eSCORTE4JSPortType">
           <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
           <wsdl:operation name="Initialize">
           <soap:operation soapAction="http://www.techniques.org/escorte4js/Initialize"/>
           <wsdl:input>
           <soap:body use="literal"/>
           </wsdl:input>
           <wsdl:output>
           <soap:body use="literal"/>
           </wsdl:output>
           </wsdl:operation>
           <wsdl:operation name="Terminate">
           <soap:operation soapAction="http://www.techniques.org/escorte4js/Terminate"/>
           <wsdl:input>
           <soap:body use="literal"/>
           </wsdl:input>
           <wsdl:output>
           <soap:body use="literal"/>
           </wsdl:output>
           </wsdl:operation>
           <wsdl:operation name="Commit">
           <soap:operation soapAction="http://www.techniques.org/escorte4js/Commit"/>
           <wsdl:input>
           <soap:body use="literal"/>
           </wsdl:input>
           <wsdl:output>
           <soap:body use="literal"/>
           </wsdl:output>
           </wsdl:operation>
           <wsdl:operation name="Quit">
           <soap:operation soapAction="http://www.techniques.org/escorte4js/Quit"/>
           <wsdl:input>
           <soap:body use="literal"/>
           </wsdl:input>
           <wsdl:output>
           <soap:body use="literal"/>
           </wsdl:output>
           </wsdl:operation>
           </wsdl:binding>
           <wsdl:service name="eSCORTE4JS">
           <wsdl:documentation>Defines a service to support the eSCORTE for JavaScript API Adapter for
           SCORM 2004.</wsdl:documentation>
           <wsdl:port binding="es4js:eSCORTE4JSSOAPBinding" name="eSCORTE4JSPort">
           <soap:address location="http://localhost:8080/kworks/escorte4js_soap"/>
           </wsdl:port>
           </wsdl:service>
          </wsdl:definitions>


          • 2. Re: wstools error in wsdl that imports schemas
            Jason Greene Master

            Have you tried with jbossws 1.0.3?

            -Jason