<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:tns="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="IDocumentService" targetNamespace="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/">
  <wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/">
  <xs:element name="addDocument" type="tns:addDocument"/>
  <xs:element name="addDocumentResponse" type="tns:addDocumentResponse"/>
  <xs:element name="queryDocument" type="tns:queryDocument"/>
  <xs:element name="queryDocumentResponse" type="tns:queryDocumentResponse"/>
  <xs:element name="retrieveDocument" type="tns:retrieveDocument"/>
  <xs:element name="retrieveDocumentResponse" type="tns:retrieveDocumentResponse"/>
  <xs:element name="updateDocument" type="tns:updateDocument"/>
  <xs:element name="updateDocumentResponse" type="tns:updateDocumentResponse"/>
  <xs:complexType name="retrieveDocument">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentURI" type="tns:documentURI"/>
      <xs:element form="qualified" minOccurs="0" name="patientId" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="documentURI">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentID" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="regionalNode" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="retrieveDocumentResponse">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="document" type="tns:documentRetrieve"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="documentRetrieve">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="document" type="xs:base64Binary"/>
      <xs:element form="qualified" minOccurs="0" name="documentName" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="status" type="xs:string"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="binaryDocument" type="xs:base64Binary"/>
      <xs:element form="qualified" minOccurs="0" name="binaryName" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="mimeType" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="addDocument">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="document" type="tns:document"/>
      <xs:element form="qualified" minOccurs="0" name="repositoryDocumentURI" type="tns:repositoryDocumentURI"/>
      <xs:element form="qualified" minOccurs="0" name="idPAI" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="document">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="document" type="xs:base64Binary"/>
      <xs:element form="qualified" minOccurs="0" name="documentName" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="status" type="xs:string"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="binaryDocument" type="xs:base64Binary"/>
      <xs:element form="qualified" minOccurs="0" name="binaryName" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="repositoryDocumentURI">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentID" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="localNode" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="regionalNode" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="addDocumentResponse">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentURI" type="tns:documentURI"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="queryDocument">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="query" type="tns:adHocQuery"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="adHocQuery">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="dateFrom" type="xs:dateTime"/>
      <xs:element form="qualified" minOccurs="0" name="dateTo" type="xs:dateTime"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="documentTypes" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="patientId" type="tns:patientIdentifier"/>
      <xs:element form="qualified" minOccurs="0" name="documentStatus" type="xs:string"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="documentURIs" type="tns:documentURI"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="customCriteria" type="tns:criteria"/>
	  <xs:element form="qualified" minOccurs="0" name="filterByAuthor" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="patientIdentifier">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="root" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="extension" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="criteria">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="id" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="value" type="tns:value"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="value">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="id" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="code" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="description" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="queryDocumentResponse">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documents" type="tns:adHocQueryResponse"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="adHocQueryResponse">
    <xs:sequence>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="documentInfo" type="tns:documentInfo"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="documentInfo">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentURI" type="tns:documentURI"/>
      <xs:element form="qualified" minOccurs="0" name="documentType" type="xs:string"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="metadata" type="tns:metadata"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="assertions" type="tns:samlAssertion"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="metadata">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="id" type="xs:string"/>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="values" type="tns:value"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="samlAssertion">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="id" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="attributeStatement" type="tns:attributeStatement"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="attributeStatement">
    <xs:sequence>
      <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="attribute" type="tns:attribute"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="attribute">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="name" type="xs:string"/>
      <xs:element form="qualified" minOccurs="0" name="type" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="updateDocument">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentURI" type="tns:documentURI"/>
      <xs:element form="qualified" minOccurs="0" name="document" type="tns:document"/>
      <xs:element form="qualified" minOccurs="0" name="repositoryDocumentURI" type="tns:repositoryDocumentURI"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="updateDocumentResponse">
    <xs:sequence>
      <xs:element form="qualified" minOccurs="0" name="documentURI" type="tns:documentURI"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SOAPFaultException" type="tns:SOAPFaultException"/>
  <xs:complexType name="SOAPFaultException">
    <xs:sequence>
      <xs:element minOccurs="0" name="message" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="SOAPFaultException">
    <wsdl:part element="tns:SOAPFaultException" name="SOAPFaultException">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="queryDocumentResponse">
    <wsdl:part element="tns:queryDocumentResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="updateDocument">
    <wsdl:part element="tns:updateDocument" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="updateDocumentResponse">
    <wsdl:part element="tns:updateDocumentResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="addDocumentResponse">
    <wsdl:part element="tns:addDocumentResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="retrieveDocument">
    <wsdl:part element="tns:retrieveDocument" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="retrieveDocumentResponse">
    <wsdl:part element="tns:retrieveDocumentResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="addDocument">
    <wsdl:part element="tns:addDocument" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="queryDocument">
    <wsdl:part element="tns:queryDocument" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="IDocument">
    <wsdl:operation name="retrieveDocument">
      <wsdl:input message="tns:retrieveDocument" name="retrieveDocument">
    </wsdl:input>
      <wsdl:output message="tns:retrieveDocumentResponse" name="retrieveDocumentResponse">
    </wsdl:output>
      <wsdl:fault message="tns:SOAPFaultException" name="SOAPFaultException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="addDocument">
      <wsdl:input message="tns:addDocument" name="addDocument">
    </wsdl:input>
      <wsdl:output message="tns:addDocumentResponse" name="addDocumentResponse">
    </wsdl:output>
      <wsdl:fault message="tns:SOAPFaultException" name="SOAPFaultException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="queryDocument">
      <wsdl:input message="tns:queryDocument" name="queryDocument">
    </wsdl:input>
      <wsdl:output message="tns:queryDocumentResponse" name="queryDocumentResponse">
    </wsdl:output>
      <wsdl:fault message="tns:SOAPFaultException" name="SOAPFaultException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="updateDocument">
      <wsdl:input message="tns:updateDocument" name="updateDocument">
    </wsdl:input>
      <wsdl:output message="tns:updateDocumentResponse" name="updateDocumentResponse">
    </wsdl:output>
      <wsdl:fault message="tns:SOAPFaultException" name="SOAPFaultException">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="IDocumentServiceSoapBinding" type="tns:IDocument">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsaw:UsingAddressing xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsdl:required="true"/>
    <wsp:PolicyReference URI="#IDocumentServiceSoapBinding_WSAM_Addressing_Policy"/>
    <wsdl:operation name="retrieveDocument">
      <soap:operation soapAction="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/retrieveDocument" style="document"/>
      <wsdl:input name="retrieveDocument">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="retrieveDocumentResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SOAPFaultException">
        <soap:fault name="SOAPFaultException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="addDocument">
      <soap:operation soapAction="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/addDocument" style="document"/>
      <wsdl:input name="addDocument">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="addDocumentResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SOAPFaultException">
        <soap:fault name="SOAPFaultException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="queryDocument">
      <soap:operation soapAction="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/queryDocument" style="document"/>
      <wsdl:input name="queryDocument">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="queryDocumentResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SOAPFaultException">
        <soap:fault name="SOAPFaultException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="updateDocument">
      <soap:operation soapAction="http://www.sist.puglia.it/Schemas/PDD_SIST/SCATEL/FSE/updateDocument" style="document"/>
      <wsdl:input name="updateDocument">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="updateDocumentResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SOAPFaultException">
        <soap:fault name="SOAPFaultException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="IDocumentService">
    <wsdl:port binding="tns:IDocumentServiceSoapBinding" name="IDocumentPort">
      <soap:address location="http://localhost:9090/FSE/IDocumentService"/>
    </wsdl:port>
  </wsdl:service>
    <wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="IDocumentServiceSoapBinding_WSAM_Addressing_Policy"><wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"><wsp:Policy/></wsam:Addressing></wsp:Policy>
</wsdl:definitions>