<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="ShipRate"
	targetNamespace="http://www.example.org/ShipRate/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:srns="http://www.example.org/ShipRate/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<wsdl:types>
		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			targetNamespace="http://www.example.org/ShipRate/">
			<xsd:element name="outRates" type="srns:rates"></xsd:element>
			<xsd:complexType name="rates">
				<xsd:sequence>
					<xsd:element name="rates" type="srns:rate" maxOccurs="unbounded"
						minOccurs="0"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>
			<xsd:complexType name="rate">
				<xsd:attribute name="totalfee" type="xsd:float"></xsd:attribute>
				<xsd:attribute name="costfee" type="xsd:float"></xsd:attribute>
				<xsd:attribute name="dealfee" type="xsd:float"></xsd:attribute>
				<xsd:attribute name="regfee" type="xsd:float"></xsd:attribute>
				<xsd:attribute name="addons" type="xsd:float"></xsd:attribute>
				<xsd:attribute name="deliverytime" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="isweight" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="iftracking" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="classtype" type="xsd:string"></xsd:attribute>
                <xsd:attribute name="classtypecode" type="xsd:string"></xsd:attribute>
                <xsd:attribute name="shiptypecode" type="xsd:string"></xsd:attribute>
                <xsd:attribute name="shiptypename" type="xsd:string"></xsd:attribute>
			</xsd:complexType>
			<xsd:element name="getCountriesResponse" type="srns:countries"></xsd:element>
			<xsd:complexType name="country">
				<xsd:attribute name="enName" type="xsd:string"></xsd:attribute>
			</xsd:complexType>
			<xsd:complexType name="countries">
				<xsd:sequence>
					<xsd:element name="countries" type="srns:country"
						maxOccurs="unbounded" minOccurs="0"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>
			<xsd:element name="getRatesByTypeResponse"
				type="srns:rates">
			</xsd:element>
			<xsd:element name="getRateByModeResponse"
				type="srns:rate">
			</xsd:element>
			<xsd:element name="getTrackingInfoResponse">
				<xsd:complexType>
					<xsd:sequence>

						<xsd:element name="order"
							type="srns:orderinfoType" minOccurs="1" maxOccurs="1">
						</xsd:element>
						<xsd:element name="track"
							type="srns:trackinfoType" minOccurs="1" maxOccurs="unbounded">
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="getTrackingInfoRequest"
				type="srns:trackingNumber">
			</xsd:element>


			<xsd:complexType name="trackingNumber">
				<xsd:sequence>
					<xsd:element name="number" type="xsd:string"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="orderinfoType">
				<xsd:sequence>
					<xsd:element name="track_number"
						type="xsd:string">
					</xsd:element>
					<xsd:element name="order_id" type="xsd:string"></xsd:element>
					<xsd:element name="weight" type="xsd:float"></xsd:element>
					<xsd:element name="type" type="xsd:string"></xsd:element>
					<xsd:element name="destination" type="xsd:string"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="tracking">

				<xsd:sequence>
					<xsd:element name="order" type="srns:orderinfoType"
						minOccurs="1" maxOccurs="1">
					</xsd:element>
					<xsd:element name="track" type="srns:trackinfoType" minOccurs="1" maxOccurs="unbounded"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="trackinfoType">
            	<xsd:attribute name="track_date" type="xsd:string"></xsd:attribute>
            	<xsd:attribute name="activity" type="xsd:string"></xsd:attribute>
            	<xsd:attribute name="location" type="xsd:string"></xsd:attribute>
            </xsd:complexType>
			<xsd:element name="getShipTypesResponse" type="srns:shiptypes">
			</xsd:element>
		
			<xsd:complexType name="shiptypes">
				<xsd:sequence>
					<xsd:element name="shiptypes" type="srns:shiptype" minOccurs="1" maxOccurs="unbounded"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>
		
			<xsd:complexType name="shiptype">

				<xsd:attribute name="method_code" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="en_name" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="cn_name" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="deliverytime" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="iftracking" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="is_weight" type="xsd:string"></xsd:attribute>
			</xsd:complexType>
			<xsd:element name="getClassTypesResponse" type="srns:classtypes">
			</xsd:element>
		
			<xsd:complexType name="classtypes">

				<xsd:sequence>
					<xsd:element name="classtypes" type="srns:classtype" minOccurs="0" maxOccurs="unbounded"></xsd:element>
				</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="classname">
				<xsd:attribute name="classname" type="xsd:string"></xsd:attribute>
			</xsd:complexType>
		
			<xsd:complexType name="classtype">
				<xsd:attribute name="cn_name" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="en_name" type="xsd:string"></xsd:attribute>
				<xsd:attribute name="class_code" type="xsd:string"></xsd:attribute>
			</xsd:complexType>
            <xsd:element name="getRatesResponse" type="xsd:string"></xsd:element>
        </xsd:schema>
	</wsdl:types>
	<wsdl:message name="getRatesRequest">
		<wsdl:part name="weight" type="xsd:float" />
		<wsdl:part name="country" type="xsd:string"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getRatesResponse">
		<wsdl:part name="return" element="srns:outRates" />
	</wsdl:message>
	<wsdl:message name="getCountriesRequest">
		<wsdl:part name="getCountriesRequest" type="xsd:string"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getCountriesResponse">
		<wsdl:part name="parameters" element="srns:getCountriesResponse"></wsdl:part>
	</wsdl:message>

	<wsdl:message name="getRatesByTypeRequest">
		<wsdl:part name="weight" type="xsd:float"></wsdl:part>
		<wsdl:part name="country" type="xsd:string"></wsdl:part>
		<wsdl:part name="type" type="xsd:string"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getRatesByTypeResponse">
		<wsdl:part name="parameters" element="srns:getRatesByTypeResponse"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getRateByModeRequest">
		<wsdl:part name="weight" type="xsd:float"></wsdl:part>
		<wsdl:part name="country" type="xsd:string"></wsdl:part>
		<wsdl:part name="mode" type="xsd:string"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getRateByModeResponse">
		<wsdl:part name="parameters" element="srns:getRateByModeResponse"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getTrackingInfoRequest">
		<wsdl:part name="parameters"
			element="srns:getTrackingInfoRequest">
		</wsdl:part>
	</wsdl:message>
	<wsdl:message name="getTrackingInfoResponse">
		<wsdl:part name="parameters" element="srns:getTrackingInfoResponse"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getShipTypeRequest">
		<wsdl:part name="getShipTypeRequest" type="xsd:string"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getShipTypesResponse">
		<wsdl:part name="parameters" element="srns:getShipTypesResponse"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getClassTypesRequest">
		<wsdl:part name="getClassTypesRequest" type="xsd:string"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="getClassTypesResponse">
		<wsdl:part name="parameters" element="srns:getClassTypesResponse"></wsdl:part>
	</wsdl:message>
	<wsdl:portType name="ShipRate">
		
		<wsdl:operation name="getCountries">
			<wsdl:documentation>获取提供服务国家名称，而且必须用这里提供的国家名称用于对国费率查询</wsdl:documentation>
			<wsdl:output message="srns:getCountriesResponse"></wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getRates">
			<wsdl:documentation>进行费率查询</wsdl:documentation>
			<wsdl:input message="srns:getRatesRequest" />
			<wsdl:output message="srns:getRatesResponse" />
		</wsdl:operation>
		<wsdl:operation name="getRatesByType">
			<wsdl:documentation>按寄送类型进行费率查询</wsdl:documentation>
			<wsdl:input message="srns:getRatesByTypeRequest"></wsdl:input>
			<wsdl:output message="srns:getRatesByTypeResponse"></wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getRateByMode">
			<wsdl:documentation>直接查询使用何种寄送方的费率</wsdl:documentation>
			<wsdl:input message="srns:getRateByModeRequest"></wsdl:input>
			<wsdl:output message="srns:getRateByModeResponse"></wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getShipTypes">			<wsdl:documentation>查询运输方式</wsdl:documentation>
			<wsdl:output message="srns:getShipTypesResponse"></wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getClassTypes">			<wsdl:documentation>查询运输类型</wsdl:documentation>
			<wsdl:output message="srns:getClassTypesResponse"></wsdl:output>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:portType name="trackPorts">
		<wsdl:operation name="getTrackingInfo">
			<wsdl:input message="srns:getTrackingInfoRequest"></wsdl:input>
			<wsdl:output message="srns:getTrackingInfoResponse"></wsdl:output>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="ShipRateSOAP" type="srns:ShipRate">

		<soap:binding style="rpc"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="getRates">

			<soap:operation
				soapAction="http://www.example.org/ShipRate/getRates" />
			<wsdl:input>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:input>
			<wsdl:output>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getCountries">

			<soap:operation
				soapAction="http://www.example.org/ShipRate/getCountries" />
			<wsdl:output>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getRatesByType">

			<soap:operation
				soapAction="http://www.example.org/ShipRate/getRatesByType" />
			<wsdl:input>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:input>
			<wsdl:output>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getRateByMode">
			<soap:operation
				soapAction="http://www.example.org/ShipRate/getRateByMode" />
			<wsdl:input>
				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getShipTypes">

			<soap:operation
				soapAction="http://www.example.org/ShipRate/getCountries" />
			<wsdl:output>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
		<wsdl:operation name="getClassTypes">

			<soap:operation
				soapAction="http://www.example.org/ShipRate/getCountries" />
			<wsdl:output>

				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:binding name="trackSOAP" type="srns:trackPorts">
		<soap:binding style="rpc"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="getTrackingInfo">
			<soap:operation
				soapAction="http://www.sendfromchina.com/ShipRate/getTrackingInfo" />
			<wsdl:input>
				<soap:body use="encoded"
					namespace="http://www.example.org/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="encoded"
					namespace="http://www.sendfromchina.com/ShipRate/"
					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="ShipRate">
		<wsdl:documentation>提供国际小包费率查询web服务</wsdl:documentation>
		<wsdl:port binding="srns:ShipRateSOAP" name="ShipRateSOAP">
			<wsdl:documentation>费率查询服务</wsdl:documentation>
			<soap:address location="http://www.sfcservice.com/shipfee/web-service" />
		</wsdl:port>
	</wsdl:service>
	<wsdl:service name="track">
		<wsdl:port name="trackSOAP" binding="srns:trackSOAP">
			<soap:address location="http://www.sfcservice.com/track/track/web-service" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>