package eu.dnetlib.enabling.aas;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

import eu.dnetlib.common.rmi.BaseService;

/**
 * Authentication & authorization service main web interface. 
 * @author mhorst
 *
 */
@WebService(targetNamespace = "http://aas.enabling.dnetlib.eu")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, 
		parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)
public interface IAAService extends BaseService {

	@WebMethod(operationName="authenticate", action="authenticate")
	@WebResult(name = "Return")
	public DNetAuthenticateResponse authenticate(
			@WebParam(name="request") DNetAuthenticateRequest request);

	@WebMethod(operationName="authorize", action="authorize")
	@WebResult(name = "Return")
	public DNetAuthorizeResponse authorize(
			@WebParam(name="request") DNetAuthorizeRequest request);
	
}