<?xml version="1.0"?>
<definitions
	name="MonsterBusinessGatewayService" 
	targetNamespace="http://www.monster.com/definitions"
	xmlns:tns="http://www.monster.com/definitions"	
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"	
	xmlns="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:monster="http://schemas.monster.com/Monster"
	xmlns:opm="http://schemas.monster.com/Monster/OPM"
	xmlns:mh="http://schemas.monster.com/MonsterHeader"
	xmlns:cat="http://webservices.monster.com/MonsterPortal"
>

	<types>
		<xsd:schema>
  			<xsd:import 
  				namespace="http://schemas.monster.com/Monster/OPM" 
  				schemaLocation="http://schemas.monster.com/current/extensions/RecruitmentOneStop/xsd/JobAnnouncement.xsd" 
  			/> 
  			<xsd:import 
  				namespace="http://schemas.monster.com/MonsterHeader" 
  				schemaLocation="http://schemas.monster.com/current/xsd/MonsterHeader.xsd" 
  			/> 
			<xsd:import
				namespace="http://webservices.monster.com/MonsterPortal"
				schemaLocation="http://schemas.monster.com/current/xsd/AuthenticateByCompanyAccessTicket.xsd"
			/>
  		</xsd:schema>
  		
	</types>
	
	<message name="JAFolderIn">
    		<part name="body" element="opm:JAFolder"/>
    		<part name="header" element="mh:MonsterHeader"/>
     		<part name="catheader" element="cat:CompanyAuthHeader"/>
  	</message>

   	<message name="JAFoldersOut">
    		<part name="body" element="opm:JAFoldersResponse"/>
    		<part name="header" element="mh:MonsterHeader"/>
  	</message>

 	<message name="AddOrUpdateJobApplicantIn">
    		<part name="body" element="monster:JobApplicant"/>
    		<part name="header" element="mh:MonsterHeader"/>
     		<part name="catheader" element="cat:CompanyAuthHeader"/>
  	</message>

   	<message name="AddOrUpdateJobApplicantsOut">
    		<part name="body" element="monster:JobsApplicantsResponse"/>
    		<part name="header" element="mh:MonsterHeader"/>
  	</message>

  	<message name="QueryIn">
    		<part name="body" element="monster:Query"/>
    		<part name="header" element="mh:MonsterHeader"/>
     		<part name="catheader" element="cat:CompanyAuthHeader"/>
  	</message>

   	<message name="QueriesOut">
    		<part name="body" element="monster:QueriesResponse"/>
    		<part name="header" element="mh:MonsterHeader"/>
  	</message>

   	<message name="DeleteIn">
    		<part name="body" element="monster:Delete"/>
    		<part name="header" element="mh:MonsterHeader"/>
     		<part name="catheader" element="cat:CompanyAuthHeader"/>
  	</message>

   	<message name="DeletesOut">
    		<part name="body" element="monster:DeletesResponse"/>
    		<part name="header" element="mh:MonsterHeader"/>
  	</message>

  	
	<portType name="OPMBusinessGatewayInterface">
	
		<operation name="ProcessJAFolder">
			<input message="tns:JAFolderIn"/>
			<output message="tns:JAFoldersOut"/>
		</operation>

		<operation name="AddOrUpdateJobApplicant">
			<input message="tns:AddOrUpdateJobApplicantIn"/>
			<output message="tns:AddOrUpdateJobApplicantsOut"/>
		</operation>

		<operation name="ExecuteQuery">
			<input message="tns:QueryIn"/>
			<output message="tns:QueriesOut"/>
		</operation>
		
		<operation name="ExecuteDelete">
			<input message="tns:DeleteIn"/>
			<output message="tns:DeletesOut"/>
		</operation>
		

	</portType>
	
	<binding name="OPMBusinessGatewayImpl" type="tns:OPMBusinessGatewayInterface">
	
		<soapbind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="ProcessJAFolder">
			<soapbind:operation soapAction="" style="document"/>
			<input>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:JAFolderIn" part="header" use="literal" />
        			<soapbind:header message="tns:JAFolderIn" part="catheader" use="literal" />
      			</input>
      			<output>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:JAFoldersOut" part="header" use="literal" />
      			</output>
    		</operation>

		<operation name="AddOrUpdateJobApplicant">
			<soapbind:operation soapAction="" style="document"/>
			<input>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:AddOrUpdateJobApplicantIn" part="catheader" use="literal" />
        			<soapbind:header message="tns:AddOrUpdateJobApplicantIn" part="header" use="literal" />
      			</input>
      			<output>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:AddOrUpdateJobApplicantsOut" part="header" use="literal" />
      			</output>
    		</operation>
    		
		<operation name="ExecuteQuery">
			<soapbind:operation soapAction="" style="document"/>
			<input>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:QueryIn" part="header" use="literal" />
        			<soapbind:header message="tns:QueryIn" part="catheader" use="literal" />
      			</input>
      			<output>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:QueriesOut" part="header" use="literal" />
      			</output>
    		</operation>

		<operation name="ExecuteDelete">
			<soapbind:operation soapAction="" style="document"/>
			<input>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:DeleteIn" part="header" use="literal" />
        			<soapbind:header message="tns:DeleteIn" part="catheader" use="literal" />
      			</input>
      			<output>
        			<soapbind:body parts="body" use="literal" />
        			<soapbind:header message="tns:DeletesOut" part="header" use="literal" />
      			</output>
    		</operation>
    		
    		
  	</binding>

	<service name="OPMBusinessGatewayService">
		<documentation></documentation>
		<port name="BusinessGatewayEndpoint" binding="tns:OPMBusinessGatewayImpl">
			<soapbind:address location="https://gateway.monster.com:8443/bgwBroker/RecruitmentOneStop"/>
		</port>
	</service>


</definitions>