/*
 * Fichero:     PeticionBusqueda.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 búsqueda
 * 				de todos los productos que tengas las características que 
 * 				especificacmos 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 búsqueda
 * 	de todos los productos que tengas las características que 
 * 	especificacmos datos.
 * 
 * @autor Alvaro Sarmiento Losada
 */
public class PeticionBusqueda  {
	public static final String CATEGORIA = "categoria";
	public static final String PRODUCTO = "producto";
	public static final String ATRIBUTO = "atributo";
	public static final String VALOR = "valor";
	public static final String ID = "id";
	
	SOAPMessage msg;
	
	/** Instanciación del mensaje*/
	public PeticionBusqueda(String []array) {
	
		try{
			/*Creamos un mensaje*/
			MessageFactory mf = MessageFactory.newInstance();
			/*A partir de él obtenemos un mensaje SOAP*/
			msg = mf.createMessage();
			
			/*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("Buscar",
					"b",
			"http://www.catalogos.com/peticion")); 
						
			SOAPBody cuerpo = env.getBody();
		
			Name nombre_cuerpo = env.createName("Buscar", "b",
			"http://cliente.com");

			SOAPBodyElement gltp = cuerpo.addBodyElement(nombre_cuerpo);
													
			Name tipo_veh = env.createName("categoria");

			SOAPElement mySymbol = gltp.addChildElement(tipo_veh);
				
			mySymbol.addTextNode(array[0]);
	
				
			Name color = env.createName("producto");

			SOAPElement mySymbl = gltp.addChildElement(color);
				
			mySymbl.addTextNode(array[1]);
					
		}catch(Exception e){}
	}
	
	public SOAPMessage devolverMensaje() {
		return msg;
	}
	
	public void colocarMensaje(SOAPMessage mensaje){
		msg=mensaje;
	}
}
