<%@ page isThreadSafe="false" %>

<%@ page import="java.util.*,java.io.*" %>
<%@ page import="java.text.*,javax.servlet.*" %>
<%@ page import="netscape.ldap.*" %>
<%@ page import="org.w3c.dom.*,javax.xml.transform.*" %>
<%@ page import="n38c.exe.*" %>
<%@ page import="n38a.exe.*" %>
<%@ page import="n38i.exe.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="javax.xml.parsers.*" %>
<%@ page import="org.apache.xpath.*" %> 
<%@ page import="java.util.Date" %>
<%@ page import="java.net.URLEncoder"%>
<%@ page import="java.net.URL"%>
<%@ page import="java.net.HttpURLConnection"%>
<%@ page import="java.net.URLConnection"%>

<%

System.out.println("-----------------------------------------------------");
System.out.println("---------------INTEGRACIONPORTALJAVA-----------------");
System.out.println("-----------------------------------------------------");

/* Quitado por JON

HttpSession sesion = null;
sesion=request.getSession(true);

System.out.println("n38IntegracionPortalJava.jsp: -- Sesion --");
System.out.println("n38IntegracionPortalJava.jsp: " + sesion.toString() + " / " + request.toString());
System.out.println("n38IntegracionPortalJava.jsp: -- fin de sesion --");
*/

String ptrCabecera="Error al hacer login";
String ptrComponente="COMPONENTE";
String ptrMotivo="MOTIVO";
String strFiltro="";
String strCorta="descripcionCortaCA";

String reqIdioma = null;
String reqColor = null;
String urlVueltaPortal = null;


reqColor = request.getParameter("n38Color");
if (reqColor == null)
  {
   reqColor = (String)session.getAttribute ("color");
   if (reqColor == null)
     reqColor = "005D9C";
  }
session.setAttribute ("color", reqColor);     

reqIdioma = request.getParameter ("n38Idioma");
if (reqIdioma!=null)
 {
  System.out.println ("Hemos recibido el IDIOMA -> " + reqIdioma);
  System.out.println ("IDIOMA en SESION-> " + (String)session.getAttribute ("n38Idioma"));
  
  if ((reqIdioma.equals ("2")) && (("Cast".equals (((String)session.getAttribute ("n38Idioma")))) || ((String)session.getAttribute ("n38Idioma") == null)))
    {
     session.setAttribute ("n38Idioma","Eusk");
     System.out.println("Ha metido en la sesion Eusk");
     ptrCabecera="Arazoak loginekin";
     ptrComponente="OSAGAIA";
     ptrMotivo="ARRAZOIA";
     strCorta="descripcionCortaEU";    
    }
     else
       if ((reqIdioma.equals ("1")) && (("Eusk".equals (((String)session.getAttribute ("n38Idioma")))) || ((String)session.getAttribute ("n38Idioma") == null)))
         {
          session.setAttribute ("n38Idioma","Cast");
          System.out.println("Ha metido en la sesion Cast");
          ptrCabecera="Error al hacer login";
          ptrComponente="COMPONENTE";
          ptrMotivo="MOTIVO";
          strCorta="descripcionCortaCA";
         }
 } 

   System.out.println("COMPROBAR SI VIENE COMO PARAMETRO Y SI NO VIENE SACARLO DE LA SESION");
   System.out.println("LA VARIABLE STRPRESENTACIONFINAL QUE VIENE A CONTINUACION ES LA QUE RECOGEREMOS COMO PARAMETRO Y POSTERIOR SESION");
   
   String strPresentacionFinal = null;
   StringBuffer basePresentacionFinal = null;
                   
   strPresentacionFinal = (String)session.getAttribute ("urlPresentacionJsp");
   if (strPresentacionFinal == null)
     {   
      basePresentacionFinal = calcularBasePresentacion (request);
      if (request.getParameter ("n38UrlPresentacion") != null)
        basePresentacionFinal.append (request.getParameter ("n38UrlPresentacion"));
        else
            basePresentacionFinal.append ("N38PresentacionO53.jsp");
      strPresentacionFinal = basePresentacionFinal.toString ();
      System.out.println ("??????????????? NO SACADO DE LA SESION");
     }
      else
          if (request.getParameter ("n38UrlPresentacion") != null)
            {
             String paramPresentacion = null;
             paramPresentacion = request.getParameter ("n38UrlPresentacion");
             if (!(strPresentacionFinal.endsWith (paramPresentacion)))
               {
                basePresentacionFinal = calcularBasePresentacion (request);
                basePresentacionFinal.append (paramPresentacion);
                strPresentacionFinal = basePresentacionFinal.toString ();
                System.out.println ("??????????????? SACADO DE LA SESION pero no se usa el mismo");
               }
               else
                   System.out.println ("??????????????? SACADO DE LA SESION y se usa el mismo");
            }
   System.out.println ("??????????????? strPresentacionFinal -> " + strPresentacionFinal);




  urlVueltaPortal = request.getParameter("n38UrlPortal");
  System.out.println ("URL PORTAL VUELTA recibido -> " + urlVueltaPortal);
  if (urlVueltaPortal == null)
    {
     urlVueltaPortal = (String)session.getAttribute ("urlVueltaPortal");
     if (urlVueltaPortal == null)
       urlVueltaPortal = "http://jakina";
    }
  if (!urlVueltaPortal.startsWith ("http://"))
    urlVueltaPortal = "http://" + urlVueltaPortal;
  session.setAttribute ("urlVueltaPortal", urlVueltaPortal);
  


String strPathInicial="";
boolean bResolver=false;
String strComponente="";
String strMotivo="";
String strOleserver="";
String strDominio="";


if (request.getParameter("xmlsesion")==null)
{

System.out.println ("NOOOO RECIBE XMLSESION COMO PARAMETRO");

N38APISesion ApiSesionInicial = null;
Document documentoXMLInicial = null;
ApiSesionInicial = new N38APISesion ();
System.out.println("RESULVE DOMINIO 1ª VEZ");
documentoXMLInicial = ApiSesionInicial.n38APIResolverDominio (request.getRemoteAddr ());
if (documentoXMLInicial.getElementsByTagName("elementos").getLength()==0)
{
   System.out.println("Se ha producido un error y lo reenvio");
   bResolver = true;
   System.out.println("documento"+N38DocumentPrinter.print (documentoXMLInicial));
   System.out.println("---xpath---");
   
   NodeList elemento=null;
   Node nodo=null;
   
   strFiltro="/n38//componente/text()"; 
   elemento= XPathAPI.selectNodeList(documentoXMLInicial,strFiltro);
   System.out.println("tamaño"+elemento.getLength());
   int i=0;
   nodo=elemento.item(i);
   strComponente=nodo.getNodeValue();
   System.out.println("Variable con strComponente:"+nodo.getNodeValue());
   
   strFiltro="/n38//"+strCorta+"/text()"; 
   elemento= XPathAPI.selectNodeList(documentoXMLInicial,strFiltro);
   System.out.println("tamaño"+elemento.getLength());
   i=0;
   nodo=elemento.item(i);
   strMotivo=nodo.getNodeValue();
   System.out.println("Variable con strMotivo:"+nodo.getNodeValue());
   
   System.out.println("---fin-xpath---");
   %>
   
     <html>
     <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
     <!-- Cambio 23/06/03 Jorge -- Para evitar que se cachee el contenido del iframe -->
   
     <meta http-equiv="Expires" content="0">

     <meta http-equiv="Last-Modified" content="0">

     <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">

     <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
     <!-- ////////////////////////////////////////////////////////////////////////// -->
     <link rel='stylesheet' type='text/css' href='/xlnets/includes/jakina/login.css' type='text/css'/>
     <body leftmargin="0" topmargin="0">
     <!-- Cambio 14/07/03 Jorge -- Para evitar que se cachee el contenido del iframe -->
     <!-- 
     <script>
     alert('entro en n38IntegracionPortalJava');
     </script>
     -->
     <!-- ////////////////////////////////////////////////////////////////////////// -->
     <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  	<td colspan="3" width="100%" align="center" bgcolor="#005D9C" height="10">
  	    <table>
  	    	<tr>
 	    	 	<td width="2%"  class="tituloClass">&nbsp</td>
  	    	 	<td width="96%" class="tituloClass" align="center"><%=ptrCabecera%></td>
  	    	    <td width="2%"  class="tituloClass"></td>
 	    	</tr>
  	    </table>
  	</td>
  </tr>
  <tr>
    <td>
      <img src="/visualizador/imagenes/pixelazul.gif" width="1" height="100%">
    </td>
    <td  align='center' width="97%" height="75" valign='top'>
       <table>
         <tr><td width="100%" colspan="2" align="center" class="tituloClass">&nbsp;</td></tr>
         <tr><td width="10%" align="right" class='tituloErrorNegro'><%=ptrComponente%>:</td><td width="90%" align="left" class="tituloCertRojo"><%=strComponente%></td></tr>
         <tr><td width="10%" align="right" class='tituloErrorNegro' valign="top"><%=ptrMotivo%>:</td><td width="90%" align="left" class="tituloCertRojo"><%=strMotivo%></td></tr>
       </table>
    </td>	
    <td align="right" valign='top'><img src="/visualizador/imagenes/pixelazul.gif" width="1" height="100%"></td>
  </tr>
  <tr>
  	<td colspan="3" align="center" bgcolor="#005D9C" class="tituloCert" height="10">&nbsp;</td>
  </tr>
 
  </table>
</form>
</body>
</html>
   <%
}
 
if (bResolver!=true)
{
if (documentoXMLInicial != null)
{                                                   
    NodeList elementoInicial=null;
    Node nodoInicial=null;
    String filtroInicial="/n38/elementos/elemento/parametro[@id= \"n38loginasociado\"]/valor/text()";
    elementoInicial= XPathAPI.selectNodeList(documentoXMLInicial,filtroInicial);
    strPathInicial = elementoInicial.item(0).getNodeValue();
    strPathInicial=strPathInicial.substring(0,strPathInicial.indexOf("N38LoginInicioServlet"));
    System.out.println("pathinicial calculado:"+strPathInicial);
    
    NodeList elementoInicialOle=null;
    String filtroInicialOle="/n38/elementos/elemento/parametro[@id= \"n38oleserver\"]/valor/text()";
    elementoInicialOle= XPathAPI.selectNodeList(documentoXMLInicial,filtroInicialOle);
    strOleserver = elementoInicialOle.item(0).getNodeValue();
    System.out.println("oleserver calculado:"+strOleserver);
    
    System.out.println("añadido 24 de abril");
    NodeList elementoInicialDominio=null;
    String filtroInicialDominio="/n38/elementos/elemento/parametro[@id= \"n38uiddominio\"]/valor/text()";
    elementoInicialDominio= XPathAPI.selectNodeList(documentoXMLInicial,filtroInicialDominio);
    strDominio = elementoInicialDominio.item(0).getNodeValue();
    System.out.println("dominio calculado:"+strDominio);
    
    



    
    System.out.println("va a utilizar las clases que dan los jsps");
    N38UrlsIntegracionPortalesFactory n38UrlsIntegracionPortalesFactory = null;
    N38UrlsIntegracionPortales n38UrlsIntegracionPortales = null;
    N38UrlsIntegracionPortal n38UrlsIntegracionPortal = null;
    
    n38UrlsIntegracionPortalesFactory = N38UrlsIntegracionPortalesFactory.getInstancia ();    
    n38UrlsIntegracionPortales = n38UrlsIntegracionPortalesFactory.getN38UrlsIntegracionPortales (strDominio, documentoXMLInicial);
    /*
    n38UrlsIntegracionPortal = n38UrlsIntegracionPortales.getUrlsPortalIntegrado (strPathInicial + "n38PresentacionReducido.jsp");
    */
    n38UrlsIntegracionPortal = n38UrlsIntegracionPortales.getUrlsPortalIntegrado (strPresentacionFinal);

    String urlLoginJsp = n38UrlsIntegracionPortal.getLogin ();
/*
               Metido para controlar los deptos. no integrados      

*/
          if ((urlLoginJsp != null) && (urlLoginJsp.equals ("N38PuntoAccesoNoIntegrado.jsp")))
            {
             System.out.println ("LOGIN NO INTEGRADO");
             response.sendRedirect (urlLoginJsp);
             return;
            }
    
    String urlLoginRechazoJsp = n38UrlsIntegracionPortal.getRechazo ();
    String urlCambioPasswJsp = n38UrlsIntegracionPortal.getCambioPassw ();
    String urlAvisoLoginPortalJsp = n38UrlsIntegracionPortal.getAvisoLoginPortal ();
    System.out.println("++++++++++++++++++++++++");
    System.out.println("URLLOGINJSP:"+urlLoginJsp);
    System.out.println("URLLOGINRECHAZOJSP:"+urlLoginRechazoJsp);
    System.out.println("URLCAMBIOPASSWJSP:"+urlCambioPasswJsp);
    System.out.println ("URLAvisoLoginPortalJSP:" + urlAvisoLoginPortalJsp);
    System.out.println("++++++++++++++++++++++++");
    session.setAttribute ("urlLoginJsp", urlLoginJsp);
    session.setAttribute ("urlLoginRechazoJsp", urlLoginRechazoJsp);
    session.setAttribute ("urlCambioPasswJsp", urlCambioPasswJsp);
    session.setAttribute ("urlAvisoLoginPortalJsp", urlAvisoLoginPortalJsp);
    System.out.println("tambien metemos en la sesion el de presentacion recibido como parametro");
    System.out.println("RECOGER EL PARAMETRO");
    /*
    session.setAttribute ("urlPresentacionJsp", strPathInicial + "n38PresentacionReducido.jsp");
    */
    
    session.setAttribute ("urlPresentacionJsp", n38UrlsIntegracionPortal.getPuntoAcceso ());
    System.out.println (" PUNTO ACCESOOOOOOOOOOOOO -> " + n38UrlsIntegracionPortal.getPuntoAcceso ());
    
    
    if (!((strOleserver.trim()).equalsIgnoreCase("true")))
    {
       System.out.println("AL RESOLVER DOMINIO HE DETECTADO QUE NO TIENE EL OLESERVER A TRUE");
       System.out.println("--------->va a la direccion:"+strPathInicial+"n38IntegracionPortalJava.jsp?xmlsesion=sincandado");
       System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
       System.out.println("$$$$$$$"+strPathInicial+"n38IntegracionPortalJava.jsp?xmlsesion=sincandado$$$$$$$$$$$$$$$$");
       System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
       response.sendRedirect(strPathInicial+"n38IntegracionPortalJava.jsp?xmlsesion=sincandado&n38Color=" + reqColor);
    }
    
    
}
}
}

if (bResolver!=true)
{

 
   Date fecha = null;
   Random urlRandom = null;
   fecha = new Date ();
   urlRandom = new Random (fecha.getTime ());
   String strRandom="?n38id=" + urlRandom.nextInt();
    
   
System.out.println("ha entrado en el jsp de las redirecciones");

if ((request.getParameter("xmlsesion")!=null)&&((request.getParameter("xmlsesion")).equalsIgnoreCase("sincandado")))
{
          System.out.println ("RECIBE XMLSESION COMO PARAMETRO con valor SINCANDADO");
             
              N38APISesion ApiSesion2 = null;
              Document documentoXML2 = null;
              ApiSesion2 = new N38APISesion ();
              System.out.println("RESULVE DOMINIO 2ª VEZ");
              documentoXML2 = ApiSesion2.n38APIResolverDominio (request.getRemoteAddr ());
              if (documentoXML2.getElementsByTagName("elementos").getLength()==0)
              {
                 System.out.println("Se ha producido un error y lo reenvio");
                 bResolver = true;
              }
              if (documentoXML2 != null)
              {          
               /*
                 NodeList elemento2=null;
                 Node nodo2=null;
                 NodeList elemento3=null;
                 String filtro2="//elementos/elemento/parametro[@id= \"n38urlportal\"]/valor/text()";
                 elemento2= XPathAPI.selectNodeList(documentoXML2,filtro2);
                 String strPortalFinal2 = elemento2.item(0).getNodeValue();
               */  
                 NodeList elemento3=null;
                 
                 String filtro3="/n38/elementos/elemento/parametro[@id= \"n38loginasociado\"]/valor/text()";
                 elemento3= XPathAPI.selectNodeList(documentoXML2,filtro3);
                 String strLoginFinal2 = elemento3.item(0).getNodeValue();
                 
                 System.out.println("------------->"+strLoginFinal2+"?N38API="+strPresentacionFinal+strRandom);
                 System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
                 System.out.println("$$$$$$$$"+strLoginFinal2+"?N38API="+strPresentacionFinal);
                 System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
                 response.sendRedirect(strLoginFinal2+"?N38API="+strPresentacionFinal);

              }
              
}
else
{


 

if (request.getParameter("xmlsesion") != null)
{    
     
     System.out.println ("RECIBE XMLSESION COMO PARAMETRO");
      
      String strUrlPortal="";
      String strUrlRedireccion="";
      String strUidSesion="";
      String strFirma="";
      String strRedireccion="";
      String strDominioUid="";
      String strDominioCookies="";
      int i;
      int intLongitud;
      int intLongitudRedir;
      int posicion;
      String miStrAuxiliar;
      int posParcial;
      String strSiguientes="";
      String queryString="";
      String direccion="";
      String url="";
      String primera="";
      String primero="";
      String strSiguientesDominios="";
      String dominioActual="";
      String wuidsesion="";
      String wfirma="";
      String wdominiouid="";
      String strLogin="";
      String wlogin="";
      String strAlmacen="";
      String strComportamientoFirma="";
      
      URL urlprueba = null;
      HttpURLConnection connection = null;   
      int responseCode = 0;  
      
      OutputStream output = null;      
      StringBuffer urlEncodedBuffer = null;
      byte[] urlEncodedBytes = null;

      StringBuffer buffer = null;
      InputStream input = null;
      BufferedReader dataInput = null;      
      String linea = null;    
 
            
              
        
        String strDoc=request.getParameter("xmlsesion");
        
      
        System.out.println("transforma el string a documento");
        DocumentBuilder dB;
        DocumentBuilderFactory dBF;
        dBF= DocumentBuilderFactory.newInstance();
        dB=dBF.newDocumentBuilder();
        System.out.println("va a parsear el string");
        Document DocParseado = dB.parse((new N38ConversionAInputStream(strDoc)).getInputStream());
    
      /*
      System.out.println(strDoc);
      */
      System.out.println("antes strUrlPortal");
      N38InformacionRedirecciones n38InformacionRedirecciones = new N38InformacionRedirecciones (DocParseado,strPresentacionFinal);
      System.out.println ("Nucleo" + n38InformacionRedirecciones.getUrlNucleoEstrella ());      


/* Quitado por JON

      HttpSession sesionHttp;
      sesionHttp=request.getSession();
      sesionHttp.setAttribute ("N38InformacionRedirecciones", n38InformacionRedirecciones);
*/
		
      String urlFinalAux=request.getParameter ("N38API");
      n38InformacionRedirecciones.setUrlDominioWeb(urlFinalAux==null?request.getRequestURL().toString():urlFinalAux);            
      session.setAttribute ("redireccionInicial", n38InformacionRedirecciones.getUrlNucleoEstrella ());
      System.out.println ("\n\r\n\r\n\r++++Nucleo -> " + n38InformacionRedirecciones.getUrlNucleoEstrella ());
      
      session.setAttribute ("N38InformacionRedirecciones", n38InformacionRedirecciones);
      System.out.println("--------------------->USANDO LA ESTRELLA!!!!");
      System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
      System.out.println("$$$$$$$$"+n38InformacionRedirecciones.getUrlNucleoEstrella ()+"$$$$$$$$$$$$$$$$$$");
      System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
      /*
      System.out.println("response.sendRedirect(response.encodeRedirectURL(url));");
      */

      response.sendRedirect ("N38Redireccion.jsp");
      return;
      
	      
	      
      
     

} 

}       
%>

<html>
<!-- Cambio 23/06/03 Jorge -- Para evitar que se cachee el contenido del iframe -->
     <meta http-equiv="Expires" content="0">
     <meta http-equiv="Last-Modified" content="0">
     <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
     <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<!-- ////////////////////////////////////////////////////////////////////////// -->
<script LANGUAGE="VBScript">

          Sub kk	
		
		dim api
		dim docsesion
         	dim path
		dim pos
		dim resultado
		dim p_prueba
		dim p_prueba1 
		dim i       
		dim strLogin
		set api=Nothing
		
		
		on error resume next
	        set api=CreateObject("N38d.N38API")
	        'if err Then
	        '   alert ("no se pudo crear el objeto")
	        '   Document.Form.Action = path & "n38IntegracionPortalJava.jsp"
		'   Document.Form.xmlsesion.Value = "sincandado"
                '   Document.Form.Submit
	        'End if 
	        'p_prueba=api.n38ItemSesion("n38login")
	        'i=0
	        'For i = LBound(p_prueba) To UBound(p_prueba)
                '  alert p_prueba(i)
	        'Next          
	        ' p_prueba1=Cstr(p_prueba)
	        ' alert(vartype(p_prueba))
	        ' alert(p_prueba1)
	        'on error resume next
	        'if p_prueba<>"" then
	        '   alert("no blanco")
	        'else
	        '   alert("hola")
	        'End if
	        
	        'If err Then
		  'alert ("va a llamar a n38ItemSesion")	        
	          'set api=Nothing
	          'set api=CreateObject("N38d.N38API")
	          set docsesion=api.n38ItemSesion("n38xmlsesion")
	          'alert(docsesion.xml)
	          'strLogin=""
	          'strLogin=api.n38ItemSesion("n38login1")
	          'alert("Login: "+strLogin)
	          
	          
		  filtro="/n38/elementos/elemento[@subtipo=""N38Sesion""]/parametro[@id=""n38loginasociado""]/valor" 
                  Set Nodo = docsesion.selectSingleNode(filtro)	
                  If Nodo Is Nothing Then
                    'alert ("no se ha producido un error")
		    'alert ("habria que hacer una redireccion")
		    'Document.Form.Action = path & "n38IntegracionPortalJava.jsp"
		    'PEQUEÑA PEGA
		    'alert("pega")
		    'alert("<%=strPathInicial%>" & "n38IntegracionPortalJava.jsp")
		    Document.Form.Action = "<%=strPathInicial%>" & "n38IntegracionPortalJava.jsp"
		    Document.Form.xmlsesion.Value = "sincandado"
                    'alert ("va a hacer el sumbit que no tiene candado")
                    Document.Form.Submit
		  Else
	            path = Nodo.nodeTypedValue
	            'alert (path)
	            pos = InStr(path,"N38LoginInicioServlet")
	            'alert (pos)
	            path = Mid (path, 1, pos - 1)
	            'alert (path)		
	          ''''''''''''''''''''''End If		
		
                  Set Nodo=Nothing
                  Set lista=Nothing
		
		  'alert (docsesion.xml)
		  'alert("aqui no llega verdad?")
		  Document.Form.Action = path & "n38IntegracionPortalJava.jsp"
		  Document.Form.xmlsesion.Value = docsesion.xml
                  Document.Form.Submit
                  End If	
               
               'else
		  
	       'end if
               
            
              
   
	End Sub
</script>
<Body>
<!-- Cambio 14/07/03 Jorge -- Para evitar que se cachee el contenido del iframe -->
     <!--     
     <script>
     alert('entro en n38IntegracionPortalJava');
     </script>
     -->
<!-- ////////////////////////////////////////////////////////////////////////// -->
  <%
  
    if (request.getParameter("xmlsesion")==null)
      {       
        System.out.println ("NOOO RECIBE XMLSESION COMO PARAMETRO y Chequea COOKIES");
        
        Cookie[] misCokitos = request.getCookies();
         System.out.println ("coooooooooooookies: "+misCokitos+".");
        if (null!=misCokitos)
        for (int ii=0;ii<misCokitos.length;ii++)
          {
           if (((misCokitos[ii].getName()).equalsIgnoreCase("n38UidSesion"))&&(!((misCokitos[ii].getValue()).equalsIgnoreCase(""))))
             {
              N38APISesion ApiSesion = null;
              Document documentoXML = null;
              ApiSesion = new N38APISesion ();
              System.out.println("RESULVE DOMINIO 3ª VEZ");
              documentoXML = ApiSesion.n38APIResolverDominio (request.getRemoteAddr ());
              if (documentoXML.getElementsByTagName("elementos").getLength()==0)
                {
                 System.out.println("Se ha producido un error y lo reenvio");
                 bResolver = true;
                }
              if (documentoXML != null)
                {
                 /*
                 NodeList elemento=null;
                 Node nodo=null;
                 String filtro="//elementos/elemento/parametro[@id= \"n38urlportal\"]/valor/text()";
                 elemento= XPathAPI.selectNodeList(documentoXML,filtro);
                 String strPortalFinal = elemento.item(0).getNodeValue();
                 
                 System.out.println("-------------->"+strPortalFinal+strRandom);
                 */
                 System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
                 System.out.println("$$$$$$$$$$$$$$$$$$"+strPresentacionFinal+"$$$$$$$$$$$$$$$$");
                 System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
                 response.sendRedirect(strPresentacionFinal);
                }
             }
          }       

  %>
  <form Name="Form" Method="Post" Action="">
  <input Type="Hidden" Name="xmlsesion" Value="">
  </form>
  <script LANGUAGE="VBScript">
 call kk
  </script>
  <%}else{%>
  <table border="1" width="100%">
  <tr width="100%">
    <td>Esta es una página de prueba de redirecciones
    </td>
  </tr>
  </table>
  <%}%>
</Body>


</html>


<%
}
%> 


<%!
 private StringBuffer calcularBasePresentacion (HttpServletRequest request)
  {
   StringBuffer basePresentacion = null;
   
   basePresentacion = HttpUtils.getRequestURL (request);
   int posicionBarra = basePresentacion.toString ().lastIndexOf ("/");
   basePresentacion = basePresentacion.delete (posicionBarra + 1, basePresentacion.length ());
   return (basePresentacion);
  }
%>