﻿<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions name="Person" targetNamespace="https://webservices.sanctieplatform.nl/person/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="https://webservices.sanctieplatform.nl/person/wsdl" xmlns:per="https://webservices.sanctieplatform.nl/person/" xmlns:fault="https://webservices.sanctieplatform.nl/fault/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl">
  <wsdl:types>
    <xs:schema xmlns="http://www.w3.org/2001/XMLSchema">
      <import schemaLocation="https://webservices.sanctieplatform.nl/Contracts/Person_6.18.xsd" namespace="https://webservices.sanctieplatform.nl/person/" />
      <import schemaLocation="https://webservices.sanctieplatform.nl/Contracts/Fault.xsd" namespace="https://webservices.sanctieplatform.nl/fault/" />
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="SearchPersonsByCriteriaInput">
    <wsdl:part name="SearchPersonsByCriteriaInput" element="per:SearchPersonsByCriteriaRequest" />
  </wsdl:message>
  <wsdl:message name="SearchPersonsByCriteriaOutput">
    <wsdl:part name="SearchPersonsByCriteriaOutput" element="per:SearchPersonsByCriteriaResponse" />
  </wsdl:message>
  <wsdl:message name="CreatePersonInput">
    <wsdl:part name="CreatePersonInput" element="per:CreatePersonRequest" />
  </wsdl:message>
  <wsdl:message name="CreatePersonOutput">
    <wsdl:part name="CreatePersonOutput" element="per:CreatePersonResponse" />
  </wsdl:message>
  <wsdl:message name="DeletePersonByIdInput">
    <wsdl:part name="DeletePersonByIdInput" element="per:DeletePersonByIdRequest" />
  </wsdl:message>
  <wsdl:message name="DeletePersonByIdOutput">
    <wsdl:part name="DeletePersonByIdOutput" element="per:DeletePersonByIdResponse" />
  </wsdl:message>
  <wsdl:message name="GetPersonByIdInput">
    <wsdl:part name="GetPersonByIdInput" element="per:GetPersonByIdRequest" />
  </wsdl:message>
  <wsdl:message name="GetPersonByIdOutput">
    <wsdl:part name="GetPersonByIdOutput" element="per:GetPersonByIdResponse" />
  </wsdl:message>
  <wsdl:message name="UpdatePersonByIdInput">
    <wsdl:part name="UpdatePersonByIdInput" element="per:UpdatePersonByIdRequest" />
  </wsdl:message>
  <wsdl:message name="UpdatePersonByIdOutput">
    <wsdl:part name="UpdatePersonByIdOutput" element="per:UpdatePersonByIdResponse" />
  </wsdl:message>
  <wsdl:message name="CustomFaultMessage">
    <wsdl:part name="CustomFaultMessageOutput" element="fault:CustomFaultMessageResponse" />
  </wsdl:message>
  <wsdl:portType name="Person">
    <wsdl:operation name="SearchPersonsByCriteria">
      <wsdl:documentation>
                Search for PERSONS based on criteria.

                NOTE: In the GUI you can use simple OR advanced search. This distinction does not exist in the webservices.
                This distinction is described in the request criteria parameters should you wish to follow the GUI.

                Specifics and business rules can be found in "FO Personen" in "Schermontwerp (eenvoudig zoeken)" and "Schermontwerp (uitgebreid zoeken)".

                Dutch functional name: "Zoeken PERSONEN op criteria"
            </wsdl:documentation>
      <wsdl:input message="tns:SearchPersonsByCriteriaInput" wsaw:Action="https://webservices.sanctieplatform.nl/person/SearchPersonsByCriteria" />
      <wsdl:output message="tns:SearchPersonsByCriteriaOutput" wsaw:Action="https://webservices.sanctieplatform.nl/person/SearchPersonsByCriteriaResponse" />
      <wsdl:fault name="CustomFault" message="tns:CustomFaultMessage" />
    </wsdl:operation>
    <wsdl:operation name="CreatePerson">
      <wsdl:documentation>
                Create a PERSON to be used as a SUBJECT in an INVESTIGATION.

                Specifics and business rules can be found in "FO Personen" in "Scherm – Persoon toevoegen".

                Dutch functional name: "PERSOON toevoegen"
            </wsdl:documentation>
      <wsdl:input message="tns:CreatePersonInput" wsaw:Action="https://webservices.sanctieplatform.nl/person/CreatePerson" />
      <wsdl:output message="tns:CreatePersonOutput" wsaw:Action="https://webservices.sanctieplatform.nl/person/CreatePersonResponse" />
      <wsdl:fault name="CustomFault" message="tns:CustomFaultMessage" />
    </wsdl:operation>
    <wsdl:operation name="DeletePersonById">
      <wsdl:documentation>
                Delete a PERSON.

                IMPORTANT: This is only allowed if the PERSON is NOT connected to any INVESTIGATION.

                Dutch functional name: "PERSOON verwijderen"
            </wsdl:documentation>
      <wsdl:input message="tns:DeletePersonByIdInput" wsaw:Action="https://webservices.sanctieplatform.nl/person/DeletePersonById" />
      <wsdl:output message="tns:DeletePersonByIdOutput" wsaw:Action="https://webservices.sanctieplatform.nl/person/DeletePersonByIdResponse" />
      <wsdl:fault name="CustomFault" message="tns:CustomFaultMessage" />
    </wsdl:operation>
    <wsdl:operation name="GetPersonById">
      <wsdl:documentation>
                Get information about a PERSON based on ID. These can be all types of persons within the sanction platform.
                E.g. when more details of a specific person is needed after the SearchPersonsByCriteria response.

                Dutch functional name: "PERSOON bekijken"
            </wsdl:documentation>
      <wsdl:input message="tns:GetPersonByIdInput" wsaw:Action="https://webservices.sanctieplatform.nl/person/GetPersonById" />
      <wsdl:output message="tns:GetPersonByIdOutput" wsaw:Action="https://webservices.sanctieplatform.nl/person/GetPersonByIdResponse" />
      <wsdl:fault name="CustomFault" message="tns:CustomFaultMessage" />
    </wsdl:operation>
    <wsdl:operation name="UpdatePersonById">
      <wsdl:documentation>
                Update details from a PERSON based on ID.

                Specifics and business rules can be found in "FO Personen" in "Scherm – Persoon wijzigen"

                Selected PERSON should be of the type "Subject"

                Dutch functional name: "PERSOON wijzigen"
            </wsdl:documentation>
      <wsdl:input message="tns:UpdatePersonByIdInput" wsaw:Action="https://webservices.sanctieplatform.nl/person/UpdatePersonById" />
      <wsdl:output message="tns:UpdatePersonByIdOutput" wsaw:Action="https://webservices.sanctieplatform.nl/person/UpdatePersonByIdResponse" />
      <wsdl:fault name="CustomFault" message="tns:CustomFaultMessage" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="PersonSOAP" type="tns:Person">
    <wsdl:documentation>
    </wsdl:documentation>
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="CreatePerson">
      <soap12:operation soapAction="https://webservices.sanctieplatform.nl/person/CreatePerson" style="document" />
      <wsdl:input>
        <soap12:body />
      </wsdl:input>
      <wsdl:output>
        <soap12:body />
      </wsdl:output>
      <wsdl:fault>
        <soap12:fault />
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="SearchPersonsByCriteria">
      <soap12:operation soapAction="https://webservices.sanctieplatform.nl/person/SearchPersonsByCriteria" style="document" />
      <wsdl:input>
        <soap12:body />
      </wsdl:input>
      <wsdl:output>
        <soap12:body />
      </wsdl:output>
      <wsdl:fault>
        <soap12:fault />
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="DeletePersonById">
      <soap12:operation soapAction="https://webservices.sanctieplatform.nl/person/DeletePersonById" style="document" />
      <wsdl:input>
        <soap12:body />
      </wsdl:input>
      <wsdl:output>
        <soap12:body />
      </wsdl:output>
      <wsdl:fault>
        <soap12:fault />
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="GetPersonById">
      <soap12:operation soapAction="https://webservices.sanctieplatform.nl/person/GetPersonById" style="document" />
      <wsdl:input>
        <soap12:body />
      </wsdl:input>
      <wsdl:output>
        <soap12:body />
      </wsdl:output>
      <wsdl:fault>
        <soap12:fault />
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="UpdatePersonById">
      <soap12:operation soapAction="https://webservices.sanctieplatform.nl/person/UpdatePersonById" style="document" />
      <wsdl:input>
        <soap12:body />
      </wsdl:input>
      <wsdl:output>
        <soap12:body />
      </wsdl:output>
      <wsdl:fault>
        <soap12:fault />
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Person">
    <wsdl:documentation>
            NOTE: Maintenance windows are applicable for the operations in this webservice.
            Calling this operation within maintenance windows will result in an error.
            Please do not schedule batch processes during these periods!
            The Sanctieplatform maintenance windows are daily from 18:00 to 19:00 CET

            This web service consists of operations related to PERSONS.

            It's goal is to Maintain PERSONS (CreatePerson, DeletePersonById or UpdatePersonById)
            Or to find and retrieve PERSONS (SearchPersonsByCriteria, GetPersonById)

            The PersonId can be needed when creating subjects in INVESTIGATIONS.
            And can also be returned in related retrieve operations.

            NOTE: In the GUI the action add person to investigion (Dutch: Persoon aan onderzoek toevoegen) exists.
            This operation doesn't exist in the webservices since such pop-up functionality can be created using the other operations.

            This web service should be in line with the specs in "FO Personen" unless stated differently in this WSDL.
        </wsdl:documentation>
    <wsdl:port name="Person_6.18" binding="tns:PersonSOAP">
      <soap12:address location="https://webservices.sanctieplatform.nl/Person/6.18" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>