/*
 * Fichero:     PeticionEliminar.java
 * Fecha:       20/10/06
 * Autor:       Alvaro Sarmiento Losada
 * Asignatura:  Proyecto Fin de Carrera
 * Descripción: Clase que representa un mensaje SOAP de petición de 
 * 				elimininacion de un determinado producto en nuestro 
 * 				sistema de bases de datos.
 *
 * Este fichero pertenece al proyecto fin de carrera del autor,
 * consistente en el estudio de JXTA y su aplicación al comercio 
 * electrónico b2b.
 */

package com.pfc.lib.soap;


import javax.xml.soap.*;

/**Clase que representa un mensaje SOAP de petición de eliminación de un producto concreto 
 * que se le pasa como parámetro.
 * 
 * @autor Alvaro Sarmiento Losada
*/
public class PeticionEliminar {
	
	SOAPMessage msg=null;

	public PeticionEliminar(String []identificador,String par) {
		
		try{
			/*Creamos un mensaje*/
			MessageFactory mf = MessageFactory.newInstance();
			/*A partir de él obtenemos un mensaje SOAP*/
			msg = mf.createMessage();
			System.out.println("Se ha creado un documento soap");
			
			/*crear_estructura(array);*/
			SOAPPart sp = msg.getSOAPPart();
			SOAPEnvelope env = sp.getEnvelope();
			env.addNamespaceDeclaration("xsd","http://www.w3.org/2001/XMLSchema");
			env.addNamespaceDeclaration("xsi","http://www.w3.org/2001/XMLSchema-instance");
			env.addNamespaceDeclaration("enc","http://schemas.xmlsoap.org/soap/encoding/");
			env.addNamespaceDeclaration("env","http://schemas.xmlsoap.org/soap/envelop/");
			env.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/");			
					
			SOAPHeader cabecera = env.getHeader();
			
			cabecera.addChildElement(env.createName("Eliminar",
					"e",
					"http://www.catalogos.com/peticion")); 
		
			SOAPBody cuerpo = env.getBody();
			
			Name nombre_cuerpo= env.createName("eliminar","e","http://osito.com");

			SOAPBodyElement gltp = cuerpo.addBodyElement(nombre_cuerpo);
			
			Name peer = env.createName("id_par");

			SOAPElement Symbol = gltp.addChildElement(peer);
	
			Symbol.addTextNode(par);
			
			int i =0;
			for(i=0;i<identificador.length;i++){
				Name producto = env.createName("id_producto");

				SOAPElement mySymbol = gltp.addChildElement(producto);
		
				mySymbol.addTextNode(identificador[i]);
			}
		
		}catch(Exception e){}
	}
	
	public SOAPMessage devolverMensaje() {
		return msg;
	}
	
	public void colocarMensaje(SOAPMessage mensaje){
		msg=mensaje;
	}
	
}
