<?xml version='1.0' encoding='UTF-8'?>
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://xmlns.oracle.com/apps/otm/servicetimeengine"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
targetNamespace="http://xmlns.oracle.com/apps/otm/servicetimeengine"
name="ServiceTimeEngineService">
<types>
<xs:schema xmlns:tns="http://xmlns.oracle.com/apps/otm/servicetimeengine" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/otm/servicetimeengine">
<xs:complexType name="keyValue">
<xs:annotation>
<xs:documentation>
This acts like place holder for requirement similar to Map with a key and value like SCAC code, Weight_UOM, Length_UOM etc...
</xs:documentation>
</xs:annotation>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="keyValues">
<xs:annotation>
<xs:documentation>
This acts like place holder for requirement similar to Map with a key and list of values like HAZMAT_TYPES.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="tns:values"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:string"/>
</xs:complexType>
<xs:element name="values">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:value" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="value" type="xs:string"/>
<xs:element name="addressLine" type="xs:string"/>
<xs:element name="accuracy" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="countryCode" type="xs:string" />
<xs:element name="countyCode" type="xs:string" />
<xs:element name="latitude" type="xs:double" nillable='true' />
<xs:element name="locationName" type="xs:string" />
<xs:element name="longitude" type="xs:double" nillable='true'/>
<xs:element name="postalCode" type="xs:string" />
<xs:element name="province" type="xs:string" />
<xs:element name="provinceCode" type="xs:string" />
<xs:element name="railSplc" type="xs:string" />
<xs:element name="railStationCode" type="xs:string" />
<xs:element name="seqNumber" type="xs:int" nillable='true'/>
<xs:element name="shortPostalCode" type="xs:string" />
<xs:element name="possibleMatch" type="tns:extEngineAddress"/>
<xs:element name="validFlag" type="xs:boolean" default='false' />
<xs:element name="sourceAddress" type="tns:extEngineAddress"/>
<xs:element name="destinationAddress" type="tns:extEngineAddress"/>
<xs:element name="address" type="tns:extEngineAddress" />
<xs:element name="uom" type="xs:string"/>
<xs:element name="amount" type="xs:double" nillable='true'/>
<xs:element name="ExtEngineException" type="xs:string" >
<xs:annotation>
<xs:documentation>
Message contain information to be shown to user when fault occurs.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="param" type="tns:keyValue">
<xs:annotation>
<xs:documentation>
<!-- TODO: Had not identified the use of this constants -->
The valid values to name attribute are
SOURCE_ADDRESS_TYPE
DEST_ADDRESS_TYPE
SAME_SOURCE_DEST_DIST
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="extEngineAuxInput" type="tns:keyValue" >
<xs:annotation>
<xs:documentation>
The valid values to name attribute are
SCAC,
RouteCode,
Height,
Height_UOM,
Length,
Length_UOM,
Width,
Width_UOM,
Weight,
Weight_UOM
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="extEngineAuxValueList" type="tns:keyValues">
<xs:annotation>
<xs:documentation>
The valid values to name attribute are
HAZMAT_TYPES
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="addressLines">
<xs:complexType>
<xs:sequence>
<xs:element ref='tns:addressLine' maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="extEngineAddress">
<xs:sequence>
<xs:element ref="tns:accuracy" />
<xs:element ref="tns:addressLines" />
<xs:element ref="tns:city" />
<xs:element ref="tns:countryCode" />
<xs:element ref="tns:countyCode" />
<xs:element ref="tns:latitude" />
<xs:element ref="tns:locationName" />
<xs:element ref="tns:longitude" />
<xs:element ref="tns:postalCode" />
<xs:element ref="tns:province" />
<xs:element ref="tns:provinceCode" />
<xs:element ref="tns:railSplc" />
<xs:element ref="tns:railStationCode" />
<xs:element ref="tns:seqNumber" />
<xs:element ref="tns:shortPostalCode" />
</xs:sequence>
</xs:complexType>
<xs:element name="extEngineAuxInputList">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:extEngineAuxInput" maxOccurs="unbounded"/>
<xs:element ref="tns:extEngineAuxValueList" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="params" >
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:param" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lookupServiceTimeRequest">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:sourceAddress" />
<xs:element ref="tns:destinationAddress" />
<xs:element ref='tns:extEngineAuxInputList'/>
<xs:element ref="tns:params"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="extEngineServiceTime">
<xs:annotation>
<xs:documentation>the values for UOM element should be valid unit of measure in OTM.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:uom" />
<xs:element ref="tns:amount" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="lookupServiceTimeRequest">
<part name="lookupServiceTimeRequest" element="tns:lookupServiceTimeRequest"/>
</message>
<message name="lookupServiceTimeResponse">
<part name="extEngineServiceTime" element="tns:extEngineServiceTime"/>
</message>
<message name="ExtEngineException">
<part name="fault" element="tns:ExtEngineException"/>
</message>
<portType name="ExternalServiceTimeEngine">
<operation name="lookupServiceTime" >
<input message="tns:lookupServiceTimeRequest" />
<output message="tns:lookupServiceTimeResponse" />
<fault message="tns:ExtEngineException" name="ExtEngineException"/>
</operation>
</portType>
<binding name="ExternalServiceTimeEnginePortBinding" type="tns:ExternalServiceTimeEngine">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="lookupServiceTime">
<soap:operation soapAction="lookupServiceTime"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="ExtEngineException">
<soap:fault name="ExtEngineException" use="literal"/>
</fault>
</operation>
</binding>
<service name="ServiceTimeEngineService">
<port name="ExternalServiceTimeEnginePort" binding="tns:ExternalServiceTimeEnginePortBinding">
<soap:address location="http://localhost/GC3Services/ServiceTimeEngineService"/>
</port>
</service>
</definitions>