<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="WhereIsNow" targetNamespace="http://webservice.whereisnow.com/stubs" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:windt="http://webservice.whereisnow.com/datatypes" xmlns:winflt="http://webservice.whereisnow.com/faults" xmlns:win="http://webservice.whereisnow.com/stubs" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <wsdl:types>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://webservice.whereisnow.com/datatypes" xmlns:dtsd="http://webservice.whereisnow.com/datatypes">
            <!-- Request type definition -->
            <xs:element name="CurrentDocument">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element maxOccurs="1" minOccurs="1" name="applicationId" nillable="false" type="xs:int"/>
                        <xs:element maxOccurs="1" minOccurs="1" name="publisherId" nillable="false" type="xs:int"/>
                        <xs:element maxOccurs="1" minOccurs="1" name="documentId" nillable="false" type="xs:int"/>
                        <xs:element maxOccurs="1" minOccurs="1" name="versionId" nillable="false" type="xs:int"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <!-- Response type definition -->
            <xs:element name="UpdatedDocument">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element maxOccurs="unbounded" minOccurs="1" name="documents" nillable="false" type="dtsd:Document"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <!-- Document type definition -->
            <xs:complexType name="Document">
                <xs:sequence>
                    <xs:element maxOccurs="1" minOccurs="1" name="publisherId" nillable="false" type="xs:int"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="documentId" nillable="false" type="xs:int"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="versionId" nillable="false" type="xs:int"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="versionDescription" nillable="false" type="xs:string"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="winUrl" nillable="false" type="xs:anyURI"/>
                    <xs:element maxOccurs="unbounded" minOccurs="1" name="urls" nillable="false" type="dtsd:VersionUrl"/>
                </xs:sequence>
            </xs:complexType>
            <!-- VersionUrl type definition -->
            <xs:complexType name="VersionUrl">
                <xs:sequence>
                    <xs:element maxOccurs="1" minOccurs="1" name="url" nillable="false" type="xs:anyURI"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="addressDescription" nillable="false" type="xs:string"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="reserved" nillable="false" type="xs:boolean"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://webservice.whereisnow.com/faults" xmlns:fltsd="http://webservice.whereisnow.com/faults">
            <!-- UserNameOnHttp Fault -->
            <xs:element name="UserNameOnHttpFault">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="fltsd:WINFault"/>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <!-- InputData Fault -->
            <xs:element name="InputDataFault">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="fltsd:WINFault"/>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <!-- NotFound Fault -->
            <xs:element name="NotFoundFault">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="fltsd:WINFault"/>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <!-- Registration Fault -->
            <xs:element name="RegistrationFault">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="fltsd:WINFault"/>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <!-- Internal Fault -->
            <xs:element name="InternalFault">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="fltsd:WINFault"/>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <!-- Base Fault Type -->
            <xs:complexType name="WINFault">
                <xs:all>
                    <xs:element maxOccurs="1" minOccurs="1" name="code" nillable="true" type="xs:int"/>
                    <xs:element maxOccurs="1" minOccurs="1" name="message" nillable="true" type="xs:string"/>
                </xs:all>
            </xs:complexType>
        </xs:schema>
  </wsdl:types>
  <wsdl:message name="NotFoundException">
    <wsdl:part name="parameters" element="winflt:NotFoundFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="InputDataException">
    <wsdl:part name="parameters" element="winflt:InputDataFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="InternalException">
    <wsdl:part name="parameters" element="winflt:InternalFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="UpdateRequestMsg">
    <wsdl:part name="parameters" element="windt:CurrentDocument">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="UpdateResponseMsg">
    <wsdl:part name="parameters" element="windt:UpdatedDocument">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="UserNameOnHttpException">
    <wsdl:part name="parameters" element="winflt:UserNameOnHttpFault">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="WINPortType">
    <wsdl:operation name="whereIsNow">
      <wsdl:input message="win:UpdateRequestMsg">
    </wsdl:input>
      <wsdl:output message="win:UpdateResponseMsg">
    </wsdl:output>
      <wsdl:fault name="UserNameOnHttpException" message="win:UserNameOnHttpException">
    </wsdl:fault>
      <wsdl:fault name="InputDataException" message="win:InputDataException">
    </wsdl:fault>
      <wsdl:fault name="NotFoundException" message="win:NotFoundException">
    </wsdl:fault>
      <wsdl:fault name="InternalException" message="win:InternalException">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="WINHttpBinding" type="win:WINPortType">
    <wsp:PolicyReference URI="#WINSecurePolicy"/>
    <http:binding verb="POST"/>
    <wsdl:operation name="whereIsNow">
      <http:operation location="WhereIsNow/whereIsNow"/>
      <wsdl:input>
        <mime:content part="whereIsNow" type="text/xml"/>
      </wsdl:input>
      <wsdl:output>
        <mime:content part="whereIsNow" type="text/xml"/>
      </wsdl:output>
      <wsdl:fault name="UserNameOnHttpException">
    <mime:content type="text/xml"/>
      </wsdl:fault>
      <wsdl:fault name="InputDataException">
    <mime:content type="text/xml"/>
      </wsdl:fault>
      <wsdl:fault name="NotFoundException">
    <mime:content type="text/xml"/>
      </wsdl:fault>
      <wsdl:fault name="InternalException">
    <mime:content type="text/xml"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="WINSOAP11Binding" type="win:WINPortType">
    <wsp:PolicyReference URI="#WINSecurePolicy"/>
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="whereIsNow">
      <soap:operation soapAction="urn:whereIsNow" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="UserNameOnHttpException">
        <soap:fault name="UserNameOnHttpException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="InputDataException">
        <soap:fault name="InputDataException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="NotFoundException">
        <soap:fault name="NotFoundException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="InternalException">
        <soap:fault name="InternalException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="WhereIsNow">
    <wsdl:port name="WINSOAP11SecurePort" binding="win:WINSOAP11Binding">
      <soap:address location="https://www.whereisnow.com/webservice"/>
    </wsdl:port>
    <wsdl:port name="WINHttpSecurePort" binding="win:WINHttpBinding">
      <http:address location="https://www.whereisnow.com/webservice"/>
    </wsdl:port>
    <wsdl:port name="WINHttpFreePort" binding="win:WINHttpBinding">
      <http:address location="http://www.whereisnow.com/webservice"/>
    </wsdl:port>
    <wsdl:port name="WINSOAP11FreePort" binding="win:WINSOAP11Binding">
      <soap:address location="http://www.whereisnow.com/webservice"/>
    </wsdl:port>
  </wsdl:service>
    <wsp:Policy wsu:Id="WINSecurePolicy">
        <wsp:ExactlyOne>
            <wsp:All>
                <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                    <wsp:Policy>
                        <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
                            <sp:IncludeTimestamp/>
                        </sp:UsernameToken>
                    </wsp:Policy>
                </sp:SignedSupportingTokens>
            </wsp:All>
        </wsp:ExactlyOne>
    </wsp:Policy>
</wsdl:definitions>

