<?xml version="1.0" encoding="UTF-8"?>
<!-- Created by EADS DS - IPCC -->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:tns="http://weblab-project.org/services/analyser"
	xmlns:types="http://weblab-project.org/services/analyser/types"
	xmlns:ex="http://weblab-project.org/services/exception"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	targetNamespace="http://weblab-project.org/services/analyser"
	name="Analyser">

	<types>
		<xsd:schema>
			<xsd:import
				namespace="http://weblab-project.org/services/analyser/types"
				schemaLocation="AnalyserTypes.xsd" />
			<xsd:import
				namespace="http://weblab-project.org/services/exception"
				schemaLocation="exception.xsd" />
		</xsd:schema>
	</types>

	<message name="processRequest">
		<part name="args" element="types:processArgs" />
	</message>
	<message name="processResponse">
		<part name="return" element="types:processReturn" />
	</message>
	<message name="processException">
		<part name="error" element="ex:webLabException" />
	</message>

	<portType name="Analyser">
		<documentation>
			Interface of a analyser. It only contains a method to enable
			business analyser to process resources, given a usage
			content.

			Most of the time this analysis turn out to be the addition
			of annotations to the Resource.
		</documentation>
		<operation name="process">
			<documentation>
				Ask to the service to process with its business method.
			</documentation>
			<input name="processInput" message="tns:processRequest" />
			<output name="processOutput" message="tns:processResponse" />
			<fault name="processException"
				message="tns:processException">
				<documentation>
					To be thrown when an error occurs in the process
					method of an analyser.
				</documentation>
			</fault>
		</operation>
	</portType>

	<binding name="AnalyserSOAPBinding" type="tns:Analyser">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
			style="document" />
		<operation name="process">
			<soap:operation soapAction="process" />
			<input name="processInput">
				<soap:body use="literal" />
			</input>
			<output name="processOutput">
				<soap:body use="literal" />
			</output>
			<fault name="processException">
				<soap:fault name="processException" use="literal" />
			</fault>
		</operation>
	</binding>

</definitions>
