<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="iszi" targetNamespace="http://nczisk.sk/iszi/2011/11"
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://nczisk.sk/iszi/2011/11"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/"
                  xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"
                  xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">

  <wsp:Policy wsu:Id="UsernameToken"
              xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
              xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
    <wsp:ExactlyOne>
      <wsp:All>
        <wsoma:OptimizedMimeSerialization wsp:Optional="true"/>
        <sp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
          <wsp:Policy>
            <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
              <wsp:Policy>
                <sp:WssUsernameToken10/>
              </wsp:Policy>
            </sp:UsernameToken>
          </wsp:Policy>
        </sp:SupportingTokens>
      </wsp:All>
    </wsp:ExactlyOne>
  </wsp:Policy>

  <wsdl:types>
    <xsd:schema>
      <xsd:import namespace="http://nczisk.sk/iszi/2011/11" schemaLocation="reporting.xsd"/>
    </xsd:schema>
  </wsdl:types>

  <wsdl:message name="receiveOperationRequest">
    <wsdl:part name="parameters" element="tns:receiveOperation"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="receiveOperationResponse">
    <wsdl:part name="parameters" element="tns:receiveOperationResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="receiveOperationFault">
    <wsdl:part name="parameters" element="tns:receiveOperationFault"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="executionStatusOperationRequest">
    <wsdl:part name="parameters" element="tns:executionStatusOperation"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="executionStatusOperationResponse">
    <wsdl:part name="parameters" element="tns:executionStatusOperationResponse"></wsdl:part>
  </wsdl:message>
  <wsdl:message name="noResultExceptionFault">
    <wsdl:part name="parameters" element="tns:faultInfo">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="executionStatusOperationFault">
    <wsdl:part name="parameters" element="tns:faultInfo">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="ReportingPortType">
    <wsdl:operation name="receiveOperation">
      <wsdl:documentation>Príjem XML dokumentu.

        XML dokument je attachment-om vstupnej správy 'statement' (MTOM/XOP). Dokument obsahuje jeden alebo viacero výkazov / hlásení jedného typu.
        XML dokument bude validovaný voči XML schéme platnej v príslušnom roku údajov.
        Validácia bude vykonaná pri volaní web služby.
        Ak validácia je vykonaná bez chýb, dokument bude uložený do ISZI.
        V prípade chýb dokument nebude uložený v ISZI, dôvod odmietnutia bude uvedený vo výstupnej fault správe - 'receiveOperationFult'

        Požadovaný spôsob notifikácie 'notification' môže byť aj prázdny.
        Pri vyplnení môže SJ požadovať notifikáciu jedného z typov: na e-mailovú adresu alebo na WS. V budúcnosti (po zavedení notifikačného modulu ÚPVS) je
        možné rozšíriť typy notifikácií aj o SMS.
      </wsdl:documentation>
      <wsdl:input message="tns:receiveOperationRequest"></wsdl:input>
      <wsdl:output message="tns:receiveOperationResponse"></wsdl:output>
      <wsdl:fault message="tns:receiveOperationFault" name="fault"></wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="executionStatusOperation">
      <wsdl:documentation>Zistenie stavu spracovania elektronického dokumentu

        Operáciu pre zistenie stavu spracovania prijatého XML dokumentu.
        Vo vstupnej správe je potrebné vyplniť položku Časová pečiatka prijatia 'timeStamp' alebo ID ED SJ 'idEDSJ'.
      </wsdl:documentation>
      <wsdl:input message="tns:executionStatusOperationRequest"></wsdl:input>
      <wsdl:output message="tns:executionStatusOperationResponse"></wsdl:output>
      <wsdl:fault name="noResultFault" message="tns:noResultExceptionFault"></wsdl:fault>
      <wsdl:fault name="executionFault" message="tns:executionStatusOperationFault"></wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>

  <wsdl:binding name="ReportingBinding" type="tns:ReportingPortType">
    <wsp:PolicyReference xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#UsernameToken"/>
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="receiveOperation">
      <soap:operation soapAction="http://nczisk.sk/iszi/2011/11/receiveOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="fault">
        <soap:fault use="literal" name="fault"/>
      </wsdl:fault>
    </wsdl:operation>

    <wsdl:operation name="executionStatusOperation">
      <soap:operation soapAction="http://nczisk.sk/iszi/2011/11/executionStatusOperation"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="noResultFault">
        <soap:fault use="literal" name="noResultFault"/>
      </wsdl:fault>
      <wsdl:fault name="executionFault">
        <soap:fault use="literal" name="executionFault"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>

  <wsdl:service name="ReportingService">
    <wsdl:port name="ReportingPort" binding="tns:ReportingBinding">
      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
