<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="SkyNode.ivoa.net" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="SkyNode.ivoa.net" xmlns:intf="SkyNode.ivoa.net" xmlns:tns1="http://www.ivoa.net/xml/ADQL/v0.7.4" xmlns:tns2="urn:nvo-region" xmlns:tns3="urn:nvo-coords" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
 <wsdl:types>
  <schema elementFormDefault="qualified" targetNamespace="SkyNode.ivoa.net" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="urn:nvo-region"/>
   <import namespace="http://www.ivoa.net/xml/ADQL/v0.7.4"/>
   <import namespace="urn:nvo-coords"/>
   <element name="PerformQuery">
    <complexType>
     <sequence>
      <element name="Select" type="tns1:selectType"/>
      <element name="format" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <complexType name="ArrayOf_tns1_selectionItemType">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="tns1:selectionItemType"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOf_tns1_fromTableType">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="tns1:fromTableType"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOf_xsd_double">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:double"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOf_tns1_columnReferenceType">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="tns1:columnReferenceType"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOf_tns1_orderType">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="tns1:orderType"/>
    </sequence>
   </complexType>
   <element name="PerformQueryResponse">
    <complexType>
     <sequence>
      <element name="PerformQueryResult" type="impl:VOData"/>
     </sequence>
    </complexType>
   </element>
   <complexType abstract="true" name="VOData">
    <sequence/>
   </complexType>
   <element name="ExecutePlan">
    <complexType>
     <sequence>
      <element name="plan" type="impl:ExecPlan"/>
     </sequence>
    </complexType>
   </element>
   <complexType name="ArrayOf_xsd_string">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string"/>
    </sequence>
   </complexType>
   <complexType name="PlanElement">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Statement" nillable="true" type="tns1:selectType"/>
     <element name="Sigma" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="Target" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="Hosts" nillable="true" type="impl:ArrayOf_xsd_string"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOfPlanElement">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:PlanElement"/>
    </sequence>
   </complexType>
   <complexType name="ExecPlan">
    <sequence>
     <element name="PlanId" type="xsd:long"/>
     <element maxOccurs="1" minOccurs="0" name="Format" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="PortalURL" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="UploadTableName" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="UploadTableAlias" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="PlanElements" nillable="true" type="impl:ArrayOfPlanElement"/>
    </sequence>
   </complexType>
   <element name="ExecutePlanResponse">
    <complexType>
     <sequence>
      <element name="ExecutePlanResult" type="impl:VOData"/>
     </sequence>
    </complexType>
   </element>
   <element name="Column">
    <complexType>
     <sequence>
      <element name="table" type="xsd:string"/>
      <element name="column" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="ColumnResponse">
    <complexType>
     <sequence>
      <element name="ColumnResult" type="impl:MetaColumn"/>
     </sequence>
    </complexType>
   </element>
   <complexType name="MetaColumn">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="Unit" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="Description" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="UCD" type="xsd:string"/>
    </sequence>
   </complexType>
   <element name="Columns">
    <complexType>
     <sequence>
      <element name="table" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="ColumnsResponse">
    <complexType>
     <sequence>
      <element maxOccurs="unbounded" name="ColumnsResult" type="impl:MetaColumn"/>
     </sequence>
    </complexType>
   </element>
   <element name="Footprint">
    <complexType>
     <sequence>
      <element name="region" type="tns2:regionType"/>
     </sequence>
    </complexType>
   </element>
   <element name="FootprintResponse">
    <complexType>
     <sequence>
      <element name="FootprintResult" type="tns2:regionType"/>
     </sequence>
    </complexType>
   </element>
   <element name="Formats">
    <complexType/>
   </element>
   <element name="FormatsResponse">
    <complexType>
     <sequence>
      <element maxOccurs="unbounded" name="FormatsResult" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="Functions">
    <complexType/>
   </element>
   <element name="FunctionsResponse">
    <complexType>
     <sequence>
      <element maxOccurs="unbounded" name="FunctionsResult" type="impl:MetaFunction"/>
     </sequence>
    </complexType>
   </element>
   <complexType name="Parameter">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="type" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="description" type="xsd:string"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOfParameter">
    <sequence>
     <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:Parameter"/>
    </sequence>
   </complexType>
   <complexType name="MetaFunction">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="name" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="description" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="parameters" type="impl:ArrayOfParameter"/>
    </sequence>
   </complexType>
   <element name="GetAvailability">
    <complexType/>
   </element>
   <element name="GetAvailabilityResponse">
    <complexType>
     <sequence>
      <element name="GetAvailabilityResult" type="impl:Availability"/>
     </sequence>
    </complexType>
   </element>
   <complexType name="Availability">
    <sequence>
     <element name="timeOnServer" type="xsd:dateTime"/>
     <element name="upTime" type="xsd:dateTime"/>
     <element name="validTo" type="xsd:dateTime"/>
     <element maxOccurs="1" minOccurs="0" name="Servername" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="message" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="location" type="xsd:string"/>
    </sequence>
   </complexType>
   <element name="QueryCost">
    <complexType>
     <sequence>
      <element name="planid" type="xsd:long"/>
      <element name="Select" type="tns1:selectType"/>
     </sequence>
    </complexType>
   </element>
   <element name="QueryCostResponse">
    <complexType>
     <sequence>
      <element name="QueryCostResult" type="xsd:float"/>
     </sequence>
    </complexType>
   </element>
   <element name="Table">
    <complexType>
     <sequence>
      <element name="table" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="TableResponse">
    <complexType>
     <sequence>
      <element name="TableResult" type="impl:MetaTable"/>
     </sequence>
    </complexType>
   </element>
   <complexType name="MetaTable">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="Description" nillable="true" type="xsd:string"/>
     <element name="Rows" type="xsd:int"/>
    </sequence>
   </complexType>
   <element name="Tables">
    <complexType/>
   </element>
   <element name="TablesResponse">
    <complexType>
     <sequence>
      <element maxOccurs="unbounded" name="TablesResult" type="impl:MetaTable"/>
     </sequence>
    </complexType>
   </element>
  </schema>
  <schema elementFormDefault="qualified" targetNamespace="http://www.ivoa.net/xml/ADQL/v0.7.4" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="SkyNode.ivoa.net"/>
   <import namespace="urn:nvo-region"/>
   <import namespace="urn:nvo-coords"/>
   <simpleType name="allOrDistinctType">
    <restriction base="xsd:string">
     <enumeration value="All"/>
     <enumeration value="DISTINCT"/>
    </restriction>
   </simpleType>
   <complexType name="selectionOptionType">
    <sequence/>
    <attribute name="Option" type="tns1:allOrDistinctType"/>
   </complexType>
   <complexType name="selectionLimitType">
    <sequence/>
    <attribute name="Top" type="xsd:unsignedInt"/>
   </complexType>
   <complexType abstract="true" name="selectionItemType">
    <sequence/>
   </complexType>
   <complexType abstract="true" name="fromTableType">
    <sequence/>
   </complexType>
   <complexType abstract="true" name="searchType">
    <sequence/>
   </complexType>
   <complexType abstract="true" name="scalarExpressionType">
    <complexContent>
     <extension base="tns1:selectionItemType">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType abstract="true" name="literalType">
    <sequence/>
   </complexType>
   <complexType abstract="true" name="numberType">
    <complexContent>
     <extension base="tns1:literalType">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="stringType">
    <complexContent>
     <extension base="tns1:literalType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Value" type="xsd:string"/>
   </complexType>
   <complexType name="integerType">
    <complexContent>
     <extension base="tns1:numberType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Value" type="xsd:long"/>
   </complexType>
   <complexType name="realType">
    <complexContent>
     <extension base="tns1:numberType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Value" type="xsd:double"/>
   </complexType>
   <complexType name="atomType">
    <complexContent>
     <extension base="tns1:scalarExpressionType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Literal" nillable="true" type="tns1:literalType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <simpleType name="trigonometricFunctionNameType">
    <restriction base="xsd:string">
     <enumeration value="SIN"/>
     <enumeration value="COS"/>
     <enumeration value="TAN"/>
     <enumeration value="COT"/>
     <enumeration value="ASIN"/>
     <enumeration value="ACOS"/>
     <enumeration value="ATAN"/>
     <enumeration value="ATAN2"/>
    </restriction>
   </simpleType>
   <complexType name="trigonometricFunctionType">
    <complexContent>
     <extension base="tns1:functionType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Name" type="tns1:trigonometricFunctionNameType"/>
   </complexType>
   <complexType name="columnReferenceType">
    <complexContent>
     <extension base="tns1:scalarExpressionType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Name" type="xsd:string"/>
    <attribute name="Table" type="xsd:string"/>
   </complexType>
   <simpleType name="mathFunctionNameType">
    <restriction base="xsd:string">
     <enumeration value="ABS"/>
     <enumeration value="CEILING"/>
     <enumeration value="DEGREES"/>
     <enumeration value="EXP"/>
     <enumeration value="FLOOR"/>
     <enumeration value="LOG"/>
     <enumeration value="PI"/>
     <enumeration value="POWER"/>
     <enumeration value="RADIANS"/>
     <enumeration value="SQRT"/>
     <enumeration value="SQUARE"/>
     <enumeration value="LOG10"/>
     <enumeration value="RAND"/>
     <enumeration value="ROUND"/>
     <enumeration value="TRUNCATE"/>
    </restriction>
   </simpleType>
   <complexType name="mathFunctionType">
    <complexContent>
     <extension base="tns1:functionType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Name" type="tns1:mathFunctionNameType"/>
   </complexType>
   <simpleType name="binaryOperatorType">
    <restriction base="xsd:string">
     <enumeration value="+"/>
     <enumeration value="-"/>
     <enumeration value="*"/>
     <enumeration value="/"/>
    </restriction>
   </simpleType>
   <complexType name="binaryExprType">
    <complexContent>
     <extension base="tns1:scalarExpressionType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Arg" nillable="true" type="tns1:scalarExpressionType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="Oper" type="tns1:binaryOperatorType"/>
   </complexType>
   <complexType name="closedExprType">
    <complexContent>
     <extension base="tns1:scalarExpressionType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Arg" nillable="true" type="tns1:scalarExpressionType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="aliasSelectionItemType">
    <complexContent>
     <extension base="tns1:selectionItemType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Expression" nillable="true" type="tns1:scalarExpressionType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="As" type="xsd:string"/>
   </complexType>
   <complexType name="allSelectionItemType">
    <complexContent>
     <extension base="tns1:selectionItemType">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType abstract="true" name="functionType">
    <complexContent>
     <extension base="tns1:scalarExpressionType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Allow" nillable="true" type="tns1:selectionOptionType"/>
       <element maxOccurs="1" minOccurs="0" name="Arg" nillable="true" type="tns1:selectionItemType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <simpleType name="aggregateFunctionNameType">
    <restriction base="xsd:string">
     <enumeration value="AVG"/>
     <enumeration value="MIN"/>
     <enumeration value="MAX"/>
     <enumeration value="SUM"/>
     <enumeration value="COUNT"/>
    </restriction>
   </simpleType>
   <complexType name="aggregateFunctionType">
    <complexContent>
     <extension base="tns1:functionType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Name" type="tns1:aggregateFunctionNameType"/>
   </complexType>
   <simpleType name="unaryOperatorType">
    <restriction base="xsd:string">
     <enumeration value="+"/>
     <enumeration value="-"/>
    </restriction>
   </simpleType>
   <complexType name="unaryExprType">
    <complexContent>
     <extension base="tns1:scalarExpressionType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Arg" nillable="true" type="tns1:scalarExpressionType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="Oper" type="tns1:unaryOperatorType"/>
   </complexType>
   <complexType name="likePredType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Arg" nillable="true" type="tns1:scalarExpressionType"/>
       <element maxOccurs="1" minOccurs="0" name="Pattern" nillable="true" type="tns1:atomType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType abstract="true" name="xMatchTableAliasType">
    <sequence/>
   </complexType>
   <complexType name="dropTableType">
    <complexContent>
     <extension base="tns1:xMatchTableAliasType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Name" type="xsd:string"/>
   </complexType>
   <complexType name="includeTableType">
    <complexContent>
     <extension base="tns1:xMatchTableAliasType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="Name" type="xsd:string"/>
   </complexType>
   <simpleType name="comparisonType">
    <restriction base="xsd:string">
     <enumeration value="="/>
     <enumeration value="&lt;&gt;"/>
     <enumeration value="&gt;"/>
     <enumeration value="&gt;="/>
     <enumeration value="&lt;"/>
     <enumeration value="&lt;="/>
    </restriction>
   </simpleType>
   <complexType name="xMatchType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Table" nillable="true" type="tns1:xMatchTableAliasType"/>
       <element name="Nature" nillable="true" type="tns1:comparisonType"/>
       <element maxOccurs="1" minOccurs="0" name="Sigma" nillable="true" type="tns1:numberType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="notLikePredType">
    <complexContent>
     <extension base="tns1:likePredType">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="betweenPredType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Arg" nillable="true" type="tns1:scalarExpressionType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="notBetweenPredType">
    <complexContent>
     <extension base="tns1:betweenPredType">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="comparisonPredType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Arg" nillable="true" type="tns1:scalarExpressionType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="Comparison" type="tns1:comparisonType"/>
   </complexType>
   <complexType name="regionSearchType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Region" nillable="true" type="tns2:regionType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="inverseSearchType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Condition" nillable="true" type="tns1:searchType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="unionSearchType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Condition" nillable="true" type="tns1:searchType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="closedSearchType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Condition" nillable="true" type="tns1:searchType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="intersectionSearchType">
    <complexContent>
     <extension base="tns1:searchType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Condition" nillable="true" type="tns1:searchType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="whereType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Condition" nillable="true" type="tns1:searchType"/>
    </sequence>
   </complexType>
   <complexType name="havingType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Condition" nillable="true" type="tns1:searchType"/>
    </sequence>
   </complexType>
   <simpleType name="orderDirectionType">
    <restriction base="xsd:string">
     <enumeration value="ASC"/>
     <enumeration value="DESC"/>
    </restriction>
   </simpleType>
   <complexType name="orderOptionType">
    <sequence/>
    <attribute name="Direction" type="tns1:orderDirectionType"/>
   </complexType>
   <complexType name="orderType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Expression" nillable="true" type="tns1:scalarExpressionType"/>
     <element maxOccurs="1" minOccurs="0" name="Order" nillable="true" type="tns1:orderOptionType"/>
    </sequence>
   </complexType>
   <complexType name="selectType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Allow" nillable="true" type="tns1:selectionOptionType"/>
     <element maxOccurs="1" minOccurs="0" name="Restrict" nillable="true" type="tns1:selectionLimitType"/>
     <element maxOccurs="1" minOccurs="0" name="SelectionList" nillable="true" type="impl:ArrayOf_tns1_selectionItemType"/>
     <element maxOccurs="1" minOccurs="0" name="From" nillable="true" type="impl:ArrayOf_tns1_fromTableType"/>
     <element maxOccurs="1" minOccurs="0" name="Where" nillable="true" type="tns1:whereType"/>
     <element maxOccurs="1" minOccurs="0" name="GroupBy" nillable="true" type="impl:ArrayOf_tns1_columnReferenceType"/>
     <element maxOccurs="1" minOccurs="0" name="Having" nillable="true" type="tns1:havingType"/>
     <element maxOccurs="1" minOccurs="0" name="OrderBy" nillable="true" type="impl:ArrayOf_tns1_orderType"/>
    </sequence>
   </complexType>
  </schema>
  <schema elementFormDefault="qualified" targetNamespace="urn:nvo-region" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="SkyNode.ivoa.net"/>
   <import namespace="http://www.ivoa.net/xml/ADQL/v0.7.4"/>
   <import namespace="urn:nvo-coords"/>
   <complexType abstract="true" name="regionType">
    <sequence/>
    <attribute name="fill_factor" type="xsd:double"/>
    <attribute name="note" type="xsd:string"/>
   </complexType>
   <complexType abstract="true" name="shapeType">
    <complexContent>
     <extension base="tns2:regionType">
      <sequence/>
     </extension>
    </complexContent>
    <attribute name="coord_system_id" type="xsd:IDREF"/>
   </complexType>
   <complexType name="sectorType">
    <complexContent>
     <extension base="tns2:shapeType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Position" nillable="true" type="tns3:coordsType"/>
       <element name="PosAngle1" type="xsd:double"/>
       <element name="PosAngle2" type="xsd:double"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="pos_angle_unit" type="tns3:posUnitType"/>
   </complexType>
   <complexType name="constraintType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Vector" nillable="true" type="tns3:coordsType"/>
     <element name="Offset" type="xsd:double"/>
    </sequence>
   </complexType>
   <complexType name="convexType">
    <complexContent>
     <extension base="tns2:shapeType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Constraint" nillable="true" type="tns2:constraintType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="smallCircleType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Pole" nillable="true" type="tns3:coordsType"/>
    </sequence>
   </complexType>
   <complexType name="vertexType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Position" nillable="true" type="tns3:coordsType"/>
     <element name="SmallCircle" nillable="true" type="tns2:smallCircleType"/>
    </sequence>
   </complexType>
   <complexType name="polygonType">
    <complexContent>
     <extension base="tns2:shapeType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Vertex" nillable="true" type="tns2:vertexType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="circleType">
    <complexContent>
     <extension base="tns2:shapeType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Center" nillable="true" type="tns3:coordsType"/>
       <element name="Radius" type="xsd:double"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="radius_unit" type="tns3:posUnitType"/>
   </complexType>
   <complexType name="ellipseType">
    <complexContent>
     <extension base="tns2:circleType">
      <sequence>
       <element name="MinorRadius" type="xsd:double"/>
       <element name="PosAngle" type="xsd:double"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="pos_angle_unit" type="tns3:angleUnitType"/>
   </complexType>
   <complexType name="convexHullType">
    <complexContent>
     <extension base="tns2:shapeType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Point" nillable="true" type="tns3:coordsType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="intersectionType">
    <complexContent>
     <extension base="tns2:regionType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Region" nillable="true" type="tns2:regionType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="unionType">
    <complexContent>
     <extension base="tns2:regionType">
      <sequence>
       <element maxOccurs="unbounded" minOccurs="0" name="Region" nillable="true" type="tns2:regionType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="negationType">
    <complexContent>
     <extension base="tns2:regionType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="Region" nillable="true" type="tns2:regionType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
  </schema>
  <schema elementFormDefault="qualified" targetNamespace="urn:nvo-coords" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="SkyNode.ivoa.net"/>
   <import namespace="urn:nvo-region"/>
   <import namespace="http://www.ivoa.net/xml/ADQL/v0.7.4"/>
   <simpleType name="velTimeUnitType">
    <restriction base="xsd:string">
     <enumeration value="s"/>
     <enumeration value="h"/>
     <enumeration value="d"/>
     <enumeration value="a"/>
     <enumeration value="yr"/>
     <enumeration value="century"/>
     <enumeration value=""/>
    </restriction>
   </simpleType>
   <complexType abstract="true" name="velCoordType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
    </sequence>
    <attribute name="vel_time_unit" type="tns3:velTimeUnitType"/>
   </complexType>
   <simpleType name="posUnitType">
    <restriction base="xsd:string">
     <enumeration value="deg"/>
     <enumeration value="rad"/>
     <enumeration value="h"/>
     <enumeration value="arcmin"/>
     <enumeration value="arcsec"/>
     <enumeration value="m"/>
     <enumeration value="km"/>
     <enumeration value="mm"/>
     <enumeration value="au"/>
     <enumeration value="pc"/>
     <enumeration value="kpc"/>
     <enumeration value="Mpc"/>
     <enumeration value="lyr"/>
     <enumeration value=""/>
    </restriction>
   </simpleType>
   <complexType name="coordValueType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="Value60" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREF"/>
    </sequence>
    <attribute name="pos_unit" type="tns3:posUnitType"/>
   </complexType>
   <complexType name="velScalarType">
    <complexContent>
     <extension base="tns3:velCoordType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coordValueType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="coord3ValueType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="impl:ArrayOf_xsd_double"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREFS"/>
    </sequence>
    <attribute name="pos1_unit" type="tns3:posUnitType"/>
    <attribute name="pos2_unit" type="tns3:posUnitType"/>
    <attribute name="pos3_unit" type="tns3:posUnitType"/>
   </complexType>
   <complexType name="coord3SizeType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="PosAngleRef" nillable="true" type="xsd:IDREFS"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREFS"/>
     <element maxOccurs="1" minOccurs="0" name="PosAngle" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="Matrix" nillable="true" type="xsd:double"/>
    </sequence>
    <attribute name="pos1_unit" type="tns3:posUnitType"/>
    <attribute name="pos2_unit" type="tns3:posUnitType"/>
    <attribute name="pos3_unit" type="tns3:posUnitType"/>
   </complexType>
   <simpleType name="angleUnitType">
    <restriction base="xsd:string">
     <enumeration value="deg"/>
     <enumeration value="rad"/>
     <enumeration value="h"/>
     <enumeration value="arcmin"/>
     <enumeration value="arcsec"/>
    </restriction>
   </simpleType>
   <complexType name="vel3VectorType">
    <complexContent>
     <extension base="tns3:velCoordType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coord3ValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coord3SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coord3SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coord3SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coord3SizeType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="pos_ang_unit" type="tns3:angleUnitType"/>
   </complexType>
   <simpleType name="spectralUnitType">
    <restriction base="xsd:string">
     <enumeration value="Hz"/>
     <enumeration value="kHz"/>
     <enumeration value="MHz"/>
     <enumeration value="GHz"/>
     <enumeration value="m"/>
     <enumeration value="mm"/>
     <enumeration value="micron"/>
     <enumeration value="nm"/>
     <enumeration value="A"/>
     <enumeration value="eV"/>
     <enumeration value="keV"/>
     <enumeration value="MeV"/>
     <enumeration value="GeV"/>
    </restriction>
   </simpleType>
   <complexType name="coordSpectralValueType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREF"/>
    </sequence>
    <attribute name="spectral_unit" type="tns3:spectralUnitType"/>
   </complexType>
   <complexType name="coordSpectralType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coordSpectralValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coordSpectralValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coordSpectralValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coordSpectralValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coordSpectralValueType"/>
    </sequence>
   </complexType>
   <simpleType name="astronTimeTypeReferenceTime_base">
    <restriction base="xsd:string">
     <enumeration value="ISO8601"/>
     <enumeration value="JD"/>
     <enumeration value="MJD"/>
     <enumeration value="relative"/>
    </restriction>
   </simpleType>
   <simpleType name="astronTimeTypeReferenceUnit">
    <restriction base="xsd:string">
     <enumeration value="s"/>
     <enumeration value="d"/>
    </restriction>
   </simpleType>
   <complexType name="astronTimeTypeReference">
    <simpleContent>
     <extension>
      <attribute name="_value" type="xsd:IDREF"/>
      <attribute name="time_base" type="tns3:astronTimeTypeReferenceTime_base"/>
      <attribute name="unit" type="tns3:astronTimeTypeReferenceUnit"/>
     </extension>
    </simpleContent>
   </complexType>
   <simpleType name="astronTimeTypeRelativeTimeUnit">
    <restriction base="xsd:string">
     <enumeration value="s"/>
     <enumeration value="d"/>
    </restriction>
   </simpleType>
   <complexType name="astronTimeTypeRelativeTime">
    <simpleContent>
     <extension>
      <attribute name="_value" type="xsd:double"/>
      <attribute name="unit" type="tns3:astronTimeTypeRelativeTimeUnit"/>
     </extension>
    </simpleContent>
   </complexType>
   <simpleType name="timeScaleType">
    <restriction base="xsd:string">
     <enumeration value="TT"/>
     <enumeration value="TDT"/>
     <enumeration value="ET"/>
     <enumeration value="TDB"/>
     <enumeration value="TCG"/>
     <enumeration value="TCB"/>
     <enumeration value="TAI"/>
     <enumeration value="IAT"/>
     <enumeration value="UTC"/>
     <enumeration value="LST"/>
    </restriction>
   </simpleType>
   <complexType name="astronTimeType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="MJDRefTime" type="xsd:decimal"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="tns3:astronTimeTypeReference"/>
     <element maxOccurs="1" minOccurs="0" name="RelativeTime" nillable="true" type="tns3:astronTimeTypeRelativeTime"/>
     <element maxOccurs="1" minOccurs="0" name="ISORefTime" type="xsd:dateTime"/>
     <element maxOccurs="1" minOccurs="0" name="ISOTime" type="xsd:dateTime"/>
     <element maxOccurs="1" minOccurs="0" name="JDTime" type="xsd:decimal"/>
     <element maxOccurs="1" minOccurs="0" name="MJDTime" type="xsd:decimal"/>
     <element maxOccurs="1" minOccurs="0" name="JDRefTime" type="xsd:decimal"/>
     <element name="TimeScale" nillable="true" type="tns3:timeScaleType"/>
    </sequence>
   </complexType>
   <complexType name="coordTimeValueType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREF"/>
    </sequence>
    <attribute name="time_unit" type="tns3:velTimeUnitType"/>
   </complexType>
   <complexType name="coordTimeType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:astronTimeType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coordTimeValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coordTimeValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coordTimeValueType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coordTimeValueType"/>
    </sequence>
   </complexType>
   <complexType name="coord2ValueType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="impl:ArrayOf_xsd_double"/>
     <element maxOccurs="1" minOccurs="0" name="Value60" nillable="true" type="xsd:string"/>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREFS"/>
    </sequence>
    <attribute name="pos1_unit" type="tns3:posUnitType"/>
    <attribute name="pos2_unit" type="tns3:posUnitType"/>
   </complexType>
   <complexType name="coord2SizeType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Reference" nillable="true" type="xsd:IDREFS"/>
     <element maxOccurs="1" minOccurs="0" name="Matrix" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="PosAngleRef" nillable="true" type="xsd:IDREF"/>
     <element maxOccurs="1" minOccurs="0" name="Value" nillable="true" type="xsd:double"/>
     <element maxOccurs="1" minOccurs="0" name="PosAngle" nillable="true" type="xsd:double"/>
    </sequence>
    <attribute name="pos1_unit" type="tns3:posUnitType"/>
    <attribute name="pos2_unit" type="tns3:posUnitType"/>
   </complexType>
   <complexType name="vel2VectorType">
    <complexContent>
     <extension base="tns3:velCoordType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coord2ValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coord2SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coord2SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coord2SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coord2SizeType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="pos_ang_unit" type="tns3:angleUnitType"/>
   </complexType>
   <complexType abstract="true" name="posCoordType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <complexType name="pos2VectorType">
    <complexContent>
     <extension base="tns3:posCoordType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coord2ValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coord2SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coord2SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coord2SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coord2SizeType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="pos_ang_unit" type="tns3:angleUnitType"/>
   </complexType>
   <complexType name="posScalarType">
    <complexContent>
     <extension base="tns3:posCoordType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coordValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coordValueType"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="pos3VectorType">
    <complexContent>
     <extension base="tns3:posCoordType">
      <sequence>
       <element maxOccurs="1" minOccurs="0" name="CoordValue" nillable="true" type="tns3:coord3ValueType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordError" nillable="true" type="tns3:coord3SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordResolution" nillable="true" type="tns3:coord3SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordSize" nillable="true" type="tns3:coord3SizeType"/>
       <element maxOccurs="1" minOccurs="0" name="CoordPixsize" nillable="true" type="tns3:coord3SizeType"/>
      </sequence>
     </extension>
    </complexContent>
    <attribute name="pos_ang_unit" type="tns3:angleUnitType"/>
   </complexType>
   <complexType name="coordsType">
    <sequence>
     <element maxOccurs="1" minOccurs="0" name="VelScalar" nillable="true" type="tns3:velScalarType"/>
     <element maxOccurs="1" minOccurs="0" name="Vel3Vector" nillable="true" type="tns3:vel3VectorType"/>
     <element maxOccurs="1" minOccurs="0" name="Spectrum" nillable="true" type="tns3:coordSpectralType"/>
     <element maxOccurs="1" minOccurs="0" name="CoordFile" nillable="true" type="xsd:anyURI"/>
     <element maxOccurs="1" minOccurs="0" name="Time" nillable="true" type="tns3:coordTimeType"/>
     <element maxOccurs="1" minOccurs="0" name="Vel2Vector" nillable="true" type="tns3:vel2VectorType"/>
     <element maxOccurs="1" minOccurs="0" name="Pos2Vector" nillable="true" type="tns3:pos2VectorType"/>
     <element maxOccurs="1" minOccurs="0" name="PosScalar" nillable="true" type="tns3:posScalarType"/>
     <element maxOccurs="1" minOccurs="0" name="Pos3Vector" nillable="true" type="tns3:pos3VectorType"/>
     <element maxOccurs="1" minOccurs="0" name="Redshift" nillable="true" type="tns3:velScalarType"/>
    </sequence>
    <attribute name="ID" type="xsd:ID"/>
    <attribute name="coord_system_id" type="xsd:IDREF"/>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="TablesResponse">

      <wsdl:part element="impl:TablesResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="PerformQueryResponse">

      <wsdl:part element="impl:PerformQueryResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="FormatsResponse">

      <wsdl:part element="impl:FormatsResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="TablesRequest">

      <wsdl:part element="impl:Tables" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="GetAvailabilityResponse">

      <wsdl:part element="impl:GetAvailabilityResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="GetAvailabilityRequest">

      <wsdl:part element="impl:GetAvailability" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="PerformQueryRequest">

      <wsdl:part element="impl:PerformQuery" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="FormatsRequest">

      <wsdl:part element="impl:Formats" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="ExecutePlanRequest">

      <wsdl:part element="impl:ExecutePlan" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="FunctionsResponse">

      <wsdl:part element="impl:FunctionsResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="FootprintRequest">

      <wsdl:part element="impl:Footprint" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="QueryCostRequest">

      <wsdl:part element="impl:QueryCost" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="ColumnsResponse">

      <wsdl:part element="impl:ColumnsResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="FootprintResponse">

      <wsdl:part element="impl:FootprintResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="TableResponse">

      <wsdl:part element="impl:TableResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="TableRequest">

      <wsdl:part element="impl:Table" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="FunctionsRequest">

      <wsdl:part element="impl:Functions" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="ColumnRequest">

      <wsdl:part element="impl:Column" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="ExecutePlanResponse">

      <wsdl:part element="impl:ExecutePlanResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="ColumnResponse">

      <wsdl:part element="impl:ColumnResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="ColumnsRequest">

      <wsdl:part element="impl:Columns" name="parameters"/>

   </wsdl:message>

   <wsdl:message name="QueryCostResponse">

      <wsdl:part element="impl:QueryCostResponse" name="parameters"/>

   </wsdl:message>

   <wsdl:portType name="SkyNodeSoap">

      <wsdl:operation name="PerformQuery">

         <wsdl:input message="impl:PerformQueryRequest" name="PerformQueryRequest"/>

         <wsdl:output message="impl:PerformQueryResponse" name="PerformQueryResponse"/>

      </wsdl:operation>

      <wsdl:operation name="ExecutePlan">

         <wsdl:input message="impl:ExecutePlanRequest" name="ExecutePlanRequest"/>

         <wsdl:output message="impl:ExecutePlanResponse" name="ExecutePlanResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Column">

         <wsdl:input message="impl:ColumnRequest" name="ColumnRequest"/>

         <wsdl:output message="impl:ColumnResponse" name="ColumnResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Columns">

         <wsdl:input message="impl:ColumnsRequest" name="ColumnsRequest"/>

         <wsdl:output message="impl:ColumnsResponse" name="ColumnsResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Footprint">

         <wsdl:input message="impl:FootprintRequest" name="FootprintRequest"/>

         <wsdl:output message="impl:FootprintResponse" name="FootprintResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Formats">

         <wsdl:input message="impl:FormatsRequest" name="FormatsRequest"/>

         <wsdl:output message="impl:FormatsResponse" name="FormatsResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Functions">

         <wsdl:input message="impl:FunctionsRequest" name="FunctionsRequest"/>

         <wsdl:output message="impl:FunctionsResponse" name="FunctionsResponse"/>

      </wsdl:operation>

      <wsdl:operation name="GetAvailability">

         <wsdl:input message="impl:GetAvailabilityRequest" name="GetAvailabilityRequest"/>

         <wsdl:output message="impl:GetAvailabilityResponse" name="GetAvailabilityResponse"/>

      </wsdl:operation>

      <wsdl:operation name="QueryCost">

         <wsdl:input message="impl:QueryCostRequest" name="QueryCostRequest"/>

         <wsdl:output message="impl:QueryCostResponse" name="QueryCostResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Table">

         <wsdl:input message="impl:TableRequest" name="TableRequest"/>

         <wsdl:output message="impl:TableResponse" name="TableResponse"/>

      </wsdl:operation>

      <wsdl:operation name="Tables">

         <wsdl:input message="impl:TablesRequest" name="TablesRequest"/>

         <wsdl:output message="impl:TablesResponse" name="TablesResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="SkyNodeSoapSoapBinding" type="impl:SkyNodeSoap">

      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="PerformQuery">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/PerformQuery"/>

         <wsdl:input name="PerformQueryRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="PerformQueryResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="ExecutePlan">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/ExecutePlan"/>

         <wsdl:input name="ExecutePlanRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="ExecutePlanResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Column">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Column"/>

         <wsdl:input name="ColumnRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="ColumnResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Columns">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Columns"/>

         <wsdl:input name="ColumnsRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="ColumnsResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Footprint">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Footprint"/>

         <wsdl:input name="FootprintRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="FootprintResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Formats">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Formats"/>

         <wsdl:input name="FormatsRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="FormatsResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Functions">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Functions"/>

         <wsdl:input name="FunctionsRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="FunctionsResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="GetAvailability">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/GetAvailability"/>

         <wsdl:input name="GetAvailabilityRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="GetAvailabilityResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="QueryCost">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/QueryCost"/>

         <wsdl:input name="QueryCostRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="QueryCostResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Table">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Table"/>

         <wsdl:input name="TableRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="TableResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="Tables">

         <wsdlsoap:operation soapAction="SkyNode.ivoa.net/Tables"/>

         <wsdl:input name="TablesRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="TablesResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="SkyNode">

      <wsdl:port binding="impl:SkyNodeSoapSoapBinding" name="SkyNodeSoap">

         <wsdlsoap:address location="http://focus.sai.msu.ru:8080/axis/services/SkyNodeSoap"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>
