<?xml version="1.0" encoding="UTF-8"?>
<definitions name="projectsgroups"
    targetNamespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"
        xmlns="http://schemas.xmlsoap.org/wsdl/"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsdmy="http://demo.5pmweb.com/api/wsdl/schema.xsd"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:tns="http://demo.5pmweb.com/api/wsdl/projectsgroups"
        xmlns:nsc="http://demo.5pmweb.com/api/wsdl/schema"
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
    <types>
        <xsd:schema targetNamespace="http://demo.5pmweb.com/api/wsdl/projectsgroups" xmlns:tns="http://demo.5pmweb.com/api/wsdl/schema">
            <xsd:import schemaLocation="schema.xsd" namespace="http://demo.5pmweb.com/api/wsdl/schema"/>
        </xsd:schema>
    </types>
    <!-- header message -->
    <message name="header">
        <part name="sessionId" element="nsc:sessionId" />
    </message>

    <!-- Soap operations request/response messages -->
    <message name="addSoapRequest">
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="addSoapResponse">
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="updateSoapRequest">
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="updateSoapResponse">
        <part name="status" type="xsd:boolean"/>
    </message>
    <message name="removeSoapRequest">
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="removeSoapResponse">
        <part name="status" type="xsd:boolean"/>
    </message>
    <message name="getByIdSoapRequest">
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="getByIdSoapResponse">
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="getAllSoapRequest">
    </message>
    <message name="getAllSoapResponse">
        <part name="list" type="nsc:ProjectsGroupList"/>
    </message>

    <!-- HttpGet operations request/response messages -->
    <message name="addHttpGetRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="addHttpGetResponse">
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="updateHttpGetRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="updateHttpGetResponse">
        <part name="status" type="xsd:boolean"/>
    </message>
    <message name="removeHttpGetRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="removeHttpGetResponse">
        <part name="status" type="xsd:boolean"/>
    </message>
    <message name="getByIdHttpGetRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="getByIdHttpGetResponse">
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="getAllHttpGetRequest">
        <part name="sessionId" type="xsd:string"/>
    </message>
    <message name="getAllHttpGetResponse">
        <part name="list" type="nsc:ProjectsGroupList"/>
    </message>

    <!-- HttpPost operations request/response messages -->
    <message name="addHttpPostRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="addHttpPostResponse">
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="updateHttpPostRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="updateHttpPostResponse">
        <part name="status" type="xsd:boolean"/>
    </message>
    <message name="removeHttpPostRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="removeHttpPostResponse">
        <part name="status" type="xsd:boolean"/>
    </message>
    <message name="getByIdHttpPostRequest">
        <part name="sessionId" type="xsd:string"/>
        <part name="id" type="xsd:integer"/>
    </message>
    <message name="getByIdHttpPostResponse">
        <part name="group" type="nsc:ProjectsGroup"/>
    </message>
    <message name="getAllHttpPostRequest">
        <part name="sessionId" type="xsd:string"/>
    </message>
    <message name="getAllHttpPostResponse">
        <part name="list" type="nsc:ProjectsGroupList"/>
    </message>


	<!-- Soap port type -->
    <portType name="ProjectsgroupsSoapPortType">
        <operation name="add">
            <input name="addSoapInput" message="tns:addSoapRequest"/>
            <output name="addSoapOutput" message="tns:addSoapResponse"/>
        </operation>
        <operation name="update">
            <input name="updateSoapInput" message="tns:updateSoapRequest"/>
            <output name="updateSoapOutput" message="tns:updateSoapResponse"/>
        </operation>
        <operation name="remove">
            <input name="removeSoapInput" message="tns:removeSoapRequest"/>
            <output name="removeSoapOutput" message="tns:removeSoapResponse"/>
        </operation>
        <operation name="getById">
            <input name="getByIdSoapInput" message="tns:getByIdSoapRequest"/>
            <output name="getByIdSoapOutput" message="tns:getByIdSoapResponse"/>
        </operation>
        <operation name="getAll">
            <input name="getAllSoapInput" message="tns:getAllSoapRequest"/>
            <output name="getAllSoapOutput" message="tns:getAllSoapResponse"/>
        </operation>
    </portType>

    <!-- HttpGet port type -->
    <portType name="ProjectsgroupsHttpGetPortType">
        <operation name="add">
            <input name="addHttpGetInput" message="tns:addHttpGetRequest"/>
            <output name="addHttpGetOutput" message="tns:addHttpGetResponse"/>
        </operation>
        <operation name="update">
            <input name="updateHttpGetInput" message="tns:updateSoapRequest"/>
            <output name="updateHttpGetOutput" message="tns:updateSoapResponse"/>
        </operation>
        <operation name="remove">
            <input name="removeHttpGetInput" message="tns:removeHttpGetRequest"/>
            <output name="removeHttpGetOutput" message="tns:removeHttpGetResponse"/>
        </operation>
        <operation name="getById">
            <input name="getByIdHttpGetInput" message="tns:getByIdHttpGetRequest"/>
            <output name="getByIdHttpGetOutput" message="tns:getByIdHttpGetResponse"/>
        </operation>
        <operation name="getAll">
            <input name="getAllHttpGetInput" message="tns:getAllHttpGetRequest"/>
            <output name="getAllHttpGetOutput" message="tns:getAllHttpGetResponse"/>
        </operation>
    </portType>

    <!-- HttpPost port type -->
    <portType name="ProjectsgroupsHttpPostPortType">
        <operation name="add">
            <input name="addHttpPostInput" message="tns:addHttpPostRequest"/>
            <output name="addHttpPostOutput" message="tns:addHttpPostResponse"/>
        </operation>
        <operation name="update">
            <input name="updateHttpPostInput" message="tns:updateHttpPostRequest"/>
            <output name="updateHttpPostOutput" message="tns:updateHttpPostResponse"/>
        </operation>
        <operation name="remove">
            <input name="removeHttpPostInput" message="tns:removeHttpPostRequest"/>
            <output name="removeHttpPostOutput" message="tns:removeHttpPostResponse"/>
        </operation>
        <operation name="getById">
            <input name="getByIdHttpPostInput" message="tns:getByIdHttpPostRequest"/>
            <output name="getByIdHttpPostOutput" message="tns:getByIdHttpPostResponse"/>
        </operation>
        <operation name="getAll">
            <input name="getAllHttpPostInput" message="tns:getAllHttpPostRequest"/>
            <output name="getAllHttpPostOutput" message="tns:getAllHttpPostResponse"/>
        </operation>
    </portType>


    <!-- Soap port type binding -->
    <binding name="ProjectsgroupsSoapPortTypeBinding" type="tns:ProjectsgroupsSoapPortType">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="add">
            <soap:operation soapAction="http://demo.5pmweb.com/api/dev/service/soap/projectsgroups/add"/>
            <input name="addSoapInput">
                <soap:header message="tns:header" part="sessionId" use="literal"/>
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
            </input>
            <output name="addSoapOutput">
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
			</output>
        </operation>
        <operation name="update">
            <soap:operation soapAction="http://demo.5pmweb.com/api/dev/service/soap/projectsgroups/update"/>
            <input name="updateSoapInput">
                <soap:header message="tns:header" part="sessionId" use="literal"/>
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
            </input>
            <output name="updateSoapOutput">
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
			</output>
        </operation>
        <operation name="remove">
            <soap:operation soapAction="http://demo.5pmweb.com/api/dev/service/soap/projectsgroups/remove"/>
            <input name="removeSoapInput">
                <soap:header message="tns:header" part="sessionId" use="literal"/>
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
            </input>
            <output name="removeSoapOutput">
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
			</output>
        </operation>
        <operation name="getById">
            <soap:operation soapAction="http://demo.5pmweb.com/api/dev/service/soap/projectsgroups/getById"/>
            <input name="getByIdSoapInput">
                <soap:header message="tns:header" part="sessionId" use="literal"/>
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
            </input>
            <output name="getByIdSoapOutput">
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
			</output>
        </operation>
        <operation name="getAll">
            <soap:operation soapAction="http://demo.5pmweb.com/api/dev/service/soap/projectsgroups/getAll"/>
            <input name="getAllSoapInput">
                <soap:header message="tns:header" part="sessionId" use="literal"/>
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
            </input>
            <output name="getAllSoapOutput">
                <soap:body use="literal" namespace="http://demo.5pmweb.com/api/wsdl/projectsgroups"/>
			</output>
        </operation>
    </binding>

   <!-- HttpGet port type binding -->
    <binding name="ProjectsgroupsHttpGetPortTypeBinding" type="tns:ProjectsgroupsHttpGetPortType">
        <http:binding verb="GET"/>
        <operation name="add">
            <http:operation location="/add" />
            <input name="addHttpGetInput">
                <http:urlEncoded />
            </input>
            <output name="addHttpGetOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="update">
            <http:operation location="/update" />
            <input name="updateHttpGetInput">
                <http:urlEncoded />
            </input>
            <output name="updateHttpGetOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="remove">
            <http:operation location="/remove" />
            <input name="removeHttpGetInput">
                <http:urlEncoded />
            </input>
            <output name="removeHttpGetOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="getById">
            <http:operation location="/getById" />
            <input name="getByIdHttpGetInput">
                <http:urlEncoded />
            </input>
            <output name="getByIdHttpGetOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="getAll">
            <http:operation location="/getAll" />
            <input name="getAllHttpGetInput">
                <http:urlEncoded />
            </input>
            <output name="getAllHttpGetOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
    </binding>

    <!-- HttpPost port type binding -->
    <binding name="ProjectsgroupsHttpPostPortTypeBinding" type="tns:ProjectsgroupsHttpPostPortType">
        <http:binding verb="POST"/>
        <operation name="add">
            <http:operation location="/add" />
            <input name="addHttpPostInput">
                <mime:content type="application/x-www-form-urlencoded" />
            </input>
            <output name="addHttpPostOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="update">
            <http:operation location="/update" />
            <input name="updateHttpPostInput">
                <mime:content type="application/x-www-form-urlencoded" />
            </input>
            <output name="updateHttpPostOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="remove">
            <http:operation location="/remove" />
            <input name="removeHttpPostInput">
                <mime:content type="application/x-www-form-urlencoded" />
            </input>
            <output name="removeHttpPostOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="getById">
            <http:operation location="/getById" />
            <input name="getByIdHttpPostInput">
                <mime:content type="application/x-www-form-urlencoded" />
            </input>
            <output name="getByIdHttpPostOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
        <operation name="getAll">
            <http:operation location="/getAll" />
            <input name="getAllHttpPostInput">
                <mime:content type="application/x-www-form-urlencoded" />
            </input>
            <output name="getAllHttpPostOutput">
                <mime:mimeXml part="response" />
            </output>
        </operation>
    </binding>


    <!-- projectsgroups management service -->
    <service name="ProjectsGroupsService">
        <documentation>5pm projects groups service</documentation>
        <port name="ProjectsgroupsSoapPort" binding="tns:ProjectsgroupsSoapPortTypeBinding">
            <soap:address location="http://demo.5pmweb.com/api/dev/service/soap/projectsgroups"/>
        </port>
        <port name="ProjectsgroupsHttpGetPort" binding="tns:ProjectsgroupsHttpGetPortTypeBinding">
            <http:address location="http://demo.5pmweb.com/api/dev/service/get/projectsgroups" />
        </port>
        <port name="ProjectsgroupsHttpPostPort" binding="tns:ProjectsgroupsHttpPostPortTypeBinding">
            <http:address location="http://demo.5pmweb.com/api/dev/service/post/projectsgroups" />
        </port>
    </service>
</definitions>
