<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.example.org/reporter/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="reporter" targetNamespace="http://www.example.org/reporter/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <wsdl:types><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/reporter/">
        <xsd:complexType name="host">
                <xsd:sequence>
                        <xsd:element name="uuid" type="xsd:string"></xsd:element>
                </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="software_list">
                <xsd:sequence>
                        <xsd:element name="software" type="tns:software"
                                maxOccurs="unbounded" minOccurs="1">
                        </xsd:element>
                </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="software">
                <xsd:sequence>
                        <xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element>
                        <xsd:element name="version" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element>
                    <xsd:element name="state" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element>
                </xsd:sequence>
        </xsd:complexType>
        <xsd:complexType name="updates">
                <xsd:sequence>
                        <xsd:element name="update" type="tns:update"
                                maxOccurs="unbounded" minOccurs="0">
                        </xsd:element>
                </xsd:sequence>
        </xsd:complexType>

        <xsd:complexType name="update">
                <xsd:sequence>
                        <xsd:element name="software" type="xsd:string"></xsd:element>
                        <xsd:element name="old_version" type="xsd:string"></xsd:element>
                        <xsd:element name="new_version" type="xsd:string"></xsd:element>
                </xsd:sequence>
        </xsd:complexType>

</xsd:schema></wsdl:types>
    <wsdl:message name="reportSoftwareStatusRequest">
    <wsdl:part name="host" type="tns:host"/>
    <wsdl:part name="software_list" type="tns:software_list"></wsdl:part>
    <wsdl:part name="updates" type="tns:updates"></wsdl:part>
    </wsdl:message>
  <wsdl:message name="reportSoftwareStatusResponse">
    <wsdl:part name="report_id" type="xsd:int"/>
  </wsdl:message>
  <wsdl:portType name="reporter">
    <wsdl:operation name="reportSoftwareStatus">
      <wsdl:input message="tns:reportSoftwareStatusRequest"/>
      <wsdl:output message="tns:reportSoftwareStatusResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="reporterHTTP" type="tns:reporter">

        <soap:binding style="document"
                transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="reportSoftwareStatus">

                <soap:operation
                        soapAction="http://www.example.org/reporter/reportSoftwareStatus" />
                <wsdl:input>


                        <soap:body use="literal" />
                </wsdl:input>
                <wsdl:output>


                        <soap:body use="literal" />
                </wsdl:output>
        </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="reporter">
    <wsdl:port binding="tns:reporterHTTP" name="reporterHTTP">
      <http:address location="test://"/>
    </wsdl:port>
  </wsdl:service>

</wsdl:definitions>
