<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s1="http://webservice.vinexplosion.com/VinExplosionRequest" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s2="http://webservice.vinexplosion.com/VinExplosionResponse" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://webservice.vinexplosion.com" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://webservice.vinexplosion.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://webservice.vinexplosion.com">
      <s:element name="IsAlive">
        <s:complexType />
      </s:element>
      <s:element name="IsAliveResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="IsAliveResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="credentials" type="tns:Credentials" />
      <s:complexType name="Credentials">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="boolean" type="s:boolean" />
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://webservice.vinexplosion.com/VinExplosionRequest">
      <s:element name="vinRequest" nillable="true" type="s1:VinRequest" />
      <s:complexType name="VinRequest">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="enableExtendedInfo" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="vins" type="s1:ArrayOfString" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="vin" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://webservice.vinexplosion.com/VinExplosionResponse">
      <s:element name="vinResponse" nillable="true" type="s2:VinResponse" />
      <s:complexType name="VinResponse">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="rvef" type="s2:Rvef" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Rvef">
        <s:complexContent mixed="false">
          <s:extension base="s2:RyanTechObject">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="inventory" type="s2:RvefInventory" />
            </s:sequence>
            <s:attribute name="name" type="s:string" />
            <s:attribute name="requestID" type="s:string" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="RyanTechObject" abstract="true" />
      <s:complexType name="RvefInventory">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="count" type="s2:RevfInventoryCount" />
          <s:element minOccurs="0" maxOccurs="1" name="vehicles" type="s2:ArrayOfRvefVehicle" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RevfInventoryCount">
        <s:attribute name="good" type="s:int" use="required" />
        <s:attribute name="bad" type="s:int" use="required" />
      </s:complexType>
      <s:complexType name="ArrayOfRvefVehicle">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="vehicle" nillable="true" type="s2:RvefVehicle" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RvefVehicle">
        <s:complexContent mixed="false">
          <s:extension base="s2:RyanTechVehicle">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="id" type="s2:RyanTechVehicleID" />
              <s:element minOccurs="0" maxOccurs="1" name="info" type="s2:RvefVehicleInfo" />
              <s:element minOccurs="0" maxOccurs="1" name="body" type="s2:RevfVehicleBody" />
              <s:element minOccurs="0" maxOccurs="1" name="engine" type="s2:RvefVehicleEngine" />
              <s:element minOccurs="0" maxOccurs="1" name="powertrain" type="s2:RvefVehiclePowerTrain" />
              <s:element minOccurs="0" maxOccurs="1" name="pricing" type="s2:RvefVehiclePricing" />
              <s:element minOccurs="0" maxOccurs="1" name="options" type="s2:ArrayOfRyanTechVehicleOption" />
            </s:sequence>
            <s:attribute name="vinExploded" type="s:boolean" use="required" />
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="RyanTechVehicle">
        <s:attribute name="NewUsed" type="s:string" />
        <s:attribute name="Mileage" type="s:string" />
        <s:attribute name="ProviderName" type="s:string" />
        <s:attribute name="ProviderID" type="s:string" />
        <s:attribute name="Certified" type="s:string" />
      </s:complexType>
      <s:complexType name="RyanTechVehicleID">
        <s:attribute name="VIN" type="s:string" />
        <s:attribute name="StockNumber" type="s:string" />
        <s:attribute name="DataID" type="s:string" />
        <s:attribute name="VehicleID" type="s:string" />
      </s:complexType>
      <s:complexType name="RvefVehicleInfo">
        <s:attribute name="year" type="s:string" />
        <s:attribute name="make" type="s:string" />
        <s:attribute name="baseModel" type="s:string" />
        <s:attribute name="fullModel" type="s:string" />
        <s:attribute name="trim" type="s:string" />
        <s:attribute name="trimExt" type="s:string" />
      </s:complexType>
      <s:complexType name="RevfVehicleBody">
        <s:attribute name="doors" type="s:string" />
        <s:attribute name="bodyType" type="s:string" />
        <s:attribute name="tonage" type="s:string" />
        <s:attribute name="cab" type="s:string" />
        <s:attribute name="baseWeight" type="s:string" />
      </s:complexType>
      <s:complexType name="RvefVehicleEngine">
        <s:attribute name="cylinders" type="s:string" />
        <s:attribute name="displacement" type="s:string" />
        <s:attribute name="carburetion" type="s:string" />
        <s:attribute name="cubicInches" type="s:string" />
        <s:attribute name="fuel" type="s:string" />
        <s:attribute name="highPerf" type="s:string" />
      </s:complexType>
      <s:complexType name="RvefVehiclePowerTrain">
        <s:attribute name="drivenWheels" type="s:string" />
        <s:attribute name="transCode" type="s:string" />
        <s:attribute name="transText" type="s:string" />
        <s:attribute name="tireSize" type="s:string" />
      </s:complexType>
      <s:complexType name="RvefVehiclePricing">
        <s:attribute name="baseListPrice" type="s:string" />
      </s:complexType>
      <s:complexType name="ArrayOfRyanTechVehicleOption">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="option" nillable="true" type="s2:RyanTechVehicleOption" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RyanTechVehicleOption">
        <s:attribute name="Code" type="s:string" />
        <s:attribute name="Equipped" type="s:string" />
        <s:attribute name="Name" type="s:string" />
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="IsAliveSoapIn">
    <wsdl:part name="parameters" element="tns:IsAlive" />
  </wsdl:message>
  <wsdl:message name="IsAliveSoapOut">
    <wsdl:part name="parameters" element="tns:IsAliveResponse" />
  </wsdl:message>
  <wsdl:message name="IsAlivecredentials">
    <wsdl:part name="credentials" element="tns:credentials" />
  </wsdl:message>
  <wsdl:message name="VinExplosionSoapIn">
    <wsdl:part name="request" element="s1:vinRequest" />
  </wsdl:message>
  <wsdl:message name="VinExplosionSoapOut">
    <wsdl:part name="VinExplosionResult" element="s2:vinResponse" />
  </wsdl:message>
  <wsdl:message name="VinExplosioncredentials">
    <wsdl:part name="credentials" element="tns:credentials" />
  </wsdl:message>
  <wsdl:message name="IsAliveHttpGetIn" />
  <wsdl:message name="IsAliveHttpGetOut">
    <wsdl:part name="Body" element="tns:boolean" />
  </wsdl:message>
  <wsdl:message name="IsAliveHttpPostIn" />
  <wsdl:message name="IsAliveHttpPostOut">
    <wsdl:part name="Body" element="tns:boolean" />
  </wsdl:message>
  <wsdl:portType name="VinServiceSoap">
    <wsdl:operation name="IsAlive">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Response true or false</documentation>
      <wsdl:input message="tns:IsAliveSoapIn" />
      <wsdl:output message="tns:IsAliveSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="VinExplosion">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Responds with detailed vehicle information associated with the specified VIN(s)</documentation>
      <wsdl:input message="tns:VinExplosionSoapIn" />
      <wsdl:output message="tns:VinExplosionSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="VinServiceHttpGet">
    <wsdl:operation name="IsAlive">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Response true or false</documentation>
      <wsdl:input message="tns:IsAliveHttpGetIn" />
      <wsdl:output message="tns:IsAliveHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="VinServiceHttpPost">
    <wsdl:operation name="IsAlive">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Response true or false</documentation>
      <wsdl:input message="tns:IsAliveHttpPostIn" />
      <wsdl:output message="tns:IsAliveHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="VinServiceSoap" type="tns:VinServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="IsAlive">
      <soap:operation soapAction="http://webservice.vinexplosion.com/CheckAvailability" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:IsAlivecredentials" part="credentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="VinExplosion">
      <soap:operation soapAction="http://webservice.vinexplosion.com/VinExplosion" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:VinExplosioncredentials" part="credentials" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="VinServiceHttpGet" type="tns:VinServiceHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="IsAlive">
      <http:operation location="/IsAlive" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="VinServiceHttpPost" type="tns:VinServiceHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="IsAlive">
      <http:operation location="/IsAlive" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="VinService">
    <wsdl:port name="VinServiceSoap" binding="tns:VinServiceSoap">
      <soap:address location="http://webservice.vinexplosion.com/VinService.asmx" />
    </wsdl:port>
    <wsdl:port name="VinServiceHttpGet" binding="tns:VinServiceHttpGet">
      <http:address location="http://webservice.vinexplosion.com/VinService.asmx" />
    </wsdl:port>
    <wsdl:port name="VinServiceHttpPost" binding="tns:VinServiceHttpPost">
      <http:address location="http://webservice.vinexplosion.com/VinService.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>