
<definitions name="SIFReportRequest" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://specification.sifinfo.org/WebServices/Reporting/1.0"
	xmlns:tns="http://specification.sifinfo.org/WebServices/Reporting/1.0" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"

>


<types>

<xs:schema targetNamespace="http://specification.sifinfo.org/WebServices/Reporting/1.0" elementFormDefault="qualified" >



<xs:simpleType name="ReportIDType">
	<xs:restriction base="xs:token"/>
</xs:simpleType>

<xs:element name="ReportID" type="tns:ReportIDType"/>
<xs:element name="ReportIDForStatus" type="tns:ReportIDType"/>
<xs:element name="ReportIDToClose" type="tns:ReportIDType"/>
<xs:element name="ReportIDToCancel" type="tns:ReportIDType"/>

<xs:element name="ResponderCapabilities">
<xs:complexType>
<xs:sequence>
<xs:element name="SupportsSIFVersion" type="xs:token" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="SupportsQueryLanguage" type="xs:token" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SupportsOutOfOrderPacketRequests" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="ReportRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="SIFVersion" type="xs:token"/>
<xs:element name="Authority"  minOccurs="0">
<xs:complexType>
<xs:sequence>

<xs:any/>

</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Manifest"  minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>

<xs:any/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:simpleType name="ReportStatusType">
<xs:restriction base="xs:token">
<xs:enumeration value="NoSuchReport"/>
<xs:enumeration value="NotReady"/>
<xs:enumeration value="Ready"/>
<xs:enumeration value="Error"/>
<xs:enumeration value="Rejected"/>
<xs:enumeration value="Cancelled"/>
</xs:restriction>
</xs:simpleType>

<xs:element name="ReportStatus">
<xs:complexType>
<xs:sequence>
<xs:element name="Code" type="tns:ReportStatusType"/>
<xs:element name="Message" type="xs:string" minOccurs="0"/>
<xs:element name="NumberOfPacketsInResult" type="xs:unsignedLong" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="ReportPacketRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="ReportID" type="tns:ReportIDType"/>
<xs:element name="PacketNumber" type="xs:unsignedLong"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="ReportResults">
<xs:complexType>
<xs:sequence>
<xs:element name="NextPacketNumber" type="xs:unsignedLong"/>
<xs:element name="SIFVersion" type="xs:token" minOccurs="0"/>
<xs:element name="ReportObjects" minOccurs="0">
<xs:complexType>
<xs:sequence>

<xs:any minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>

</types>


<message name="GetResponderCapabilitiesRequest"/>

<message name="GetResponderCapabilitiesResponse">
<part name="ResponderCapabilities" element="tns:ResponderCapabilities"/>
</message>

<message name="RequestReportRequest">
<part name="ReportRequest" element="tns:ReportRequest"/>
</message>

<message name="RequestReportResponse">
<part name="ReportID" element="tns:ReportID"/>
</message>

<message name="GetReportStatusRequest">
<part name="ReportIDForStatus" element="tns:ReportIDForStatus"/>
</message>

<message name="GetReportStatusResponse">
<part name="ReportStatus" element="tns:ReportStatus"/>
</message>

<message name="GetReportResultsRequest">
<part name="ReportPacketRequest" element="tns:ReportPacketRequest"/>
</message>

<message name="GetReportResultsResponse">
<part name="ReportResults" element="tns:ReportResults"/>
</message>

<message name="CloseReportRequest">
<part name="ReportIDToClose" element="tns:ReportIDToClose"/>
</message>

<message name="CancelReportRequest">
<part name="ReportIDToCancel" element="tns:ReportIDToCancel"/>
</message>


<portType name="SIFReportRequestSoapPortType">

<operation name="GetResponderCapabilities">
<input message="tns:GetResponderCapabilitiesRequest"/>
<output message="tns:GetResponderCapabilitiesResponse"/>
</operation>

<operation name="RequestReport">
<input message="tns:RequestReportRequest"/>
<output message="tns:RequestReportResponse"/>
</operation>

<operation name="GetReportStatus">
<input message="tns:GetReportStatusRequest"/>
<output message="tns:GetReportStatusResponse"/>
</operation>

<operation name="GetReportResults">
<input message="tns:GetReportResultsRequest"/>
<output message="tns:GetReportResultsResponse"/>
</operation>

<operation name="CloseReport">
<input message="tns:CloseReportRequest"/>
</operation>

<operation name="CancelReport">
<input message="tns:CancelReportRequest"/>
</operation>

</portType>


<binding name="SIFReportRequestSoap" type="tns:SIFReportRequestSoapPortType">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="GetResponderCapabilities">
<soap:operation soapAction="http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilities"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="RequestReport">
<soap:operation soapAction="http://specification.sifinfo.org/WebServices/Reporting/1.0/RequestReport"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="GetReportStatus">
<soap:operation soapAction="http://specification.sifinfo.org/WebServices/Reporting/1.0/GetReportStatus"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="GetReportResults">
<soap:operation soapAction="http://specification.sifinfo.org/WebServices/Reporting/1.0/GetReportResults"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="CloseReport">
<soap:operation soapAction="http://specification.sifinfo.org/WebServices/Reporting/1.0/CloseReport"/>
<input>
<soap:body use="literal"/>
</input>
</operation>

<operation name="CancelReport">
<soap:operation soapAction="http://specification.sifinfo.org/WebServices/Reporting/1.0/CancelReport"/>
<input>
<soap:body use="literal"/>
</input>
</operation>

</binding>


<service name="SIFReportRequestService">

<port name="SIFReportRequestPort" binding="tns:SIFReportRequestSoap">
<!-- Change the location value below to published URL of your web service -->

<soap:address location="http://localhost/SIFReportRequest" />

</port>

</service>


</definitions>

