/*
 * Fichero:     RespuestaCategoria.java
 * Fecha:       20/10/06
 * Autor:       Alvaro Sarmiento Losada
 * Asignatura:  Proyecto Fin de Carrera
 * Descripción: Clase que representa un mensaje SOAP de respuesta en donde
 * 				devolvemos los valores de la búsqueda deseada.
 *
 * 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.MessageFactory;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;

/** Clase usada para responder a las peticiones SOAP recibidas por el servidor
 * 
 * @author Alvaro Sarmiento Losada
 *
 */
public class RespuestaCategoria {
	
	SOAPMessage msg=null;
	
	/** Instanciación del objeto
	 * 
	 * @param array Cadena en donde especificaremos nuestra respuesta
	 */
	public RespuestaCategoria(String array) {
		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("Respuesta",
		"re",
		"http://www.catalogos.com/respuesta")); 
			
			SOAPBody cuerpo = env.getBody();
		
			Name nombre_cuerpo = env.createName("Respuesta", "re",
			"http://servidor.com");

			SOAPBodyElement gltp = cuerpo.addBodyElement(nombre_cuerpo);
		
			Name miContenido = env.createName("respuesta");

			SOAPElement mySymbol = gltp.addChildElement(miContenido);
		
			mySymbol.addTextNode(array);
	
		
		}catch(Exception e){}
	}

	public SOAPMessage devolverMensaje() {
		return msg;
	}
	
	public void colocarMensaje(SOAPMessage mensaje){
		msg=mensaje;
	}
}



