package com.ebmwebsourcing.easybpel.usecase.collecteRegimeCNAV;

import java.io.File;

import javax.xml.namespace.QName;

import com.ebmwebsourcing.easybpel.model.bpel.api.BPELException;
import com.ebmwebsourcing.easyviper.core.api.CoreException;
import com.ebmwebsourcing.easyviper.environment.test.env.api.Operation;
import com.ebmwebsourcing.easyviper.environment.test.env.api.ProviderEndpoint;
import com.ebmwebsourcing.easyviper.environment.test.env.api.Service;
import com.ebmwebsourcing.easyviper.environment.test.env.impl.AbstractServiceImpl;
/**
 * 
 * @author alouis
 *
 */
public class MajSuiviService extends AbstractServiceImpl implements Service {

	public MajSuiviService(ProviderEndpoint pep) throws Exception {
		super(pep);
		this.setName(new QName("http://suivi.architecture.cnav.fr/",
				"I_ServiceMAJSuiviPortType"));

		miseAJourSuiviCollecte();
	}

	private void miseAJourSuiviCollecte() throws Exception {
		try {
			File in = new File(
					"./src/test/resources/MajSuiviServiceRequest.xml");
			File out = new File(
					"./src/test/resources/MajSuiviServiceResponse.xml");

			Operation miseAJourSuiviCollecte = MockServiceBuilder.buildOperation(this,
					"http://suivi.architecture.cnav.fr/",
					"miseAJourSuiviCollecte", "I_ServiceMAJSuiviPortType",
					getProviderEndpoint().getName(), in,
					"miseAJourSuiviCollecte", out,
					"miseAJourSuiviCollecteResponse", null, null);
			this.addOperation(miseAJourSuiviCollecte);

		} catch (CoreException e) {
			throw new BPELException(e);
		}
	
	}


}
