<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>v3rgu1.com</title>
	<atom:link href="http://www.v3rgu1.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.v3rgu1.com/blog</link>
	<description>sin noticias del mundo</description>
	<lastBuildDate>Fri, 04 May 2012 22:16:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Cannot locate java installation in specified jdkhome</title>
		<link>http://www.v3rgu1.com/blog/658/2012/programacion/cannot-locate-java-installation-in-specified-jdkhome/</link>
		<comments>http://www.v3rgu1.com/blog/658/2012/programacion/cannot-locate-java-installation-in-specified-jdkhome/#comments</comments>
		<pubDate>Fri, 04 May 2012 22:16:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[sistemas operativos]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=658</guid>
		<description><![CDATA[Hace algunos días, actualicé mi sistema operativo Ubuntu a su última versión 12.04 LTS Precise Pangolin, y si bien debo reconocer mejoras apreciables en el rendimiento diario del sistema, también me voy encontrando alguna sorpresa inesperada sobre programas usados hasta entonces que se han visto afectados por la actualización. Una de esas sorpresas me la [...]]]></description>
			<content:encoded><![CDATA[<p>Hace algunos días, actualicé mi sistema operativo <strong>Ubuntu</strong> a su última versión <strong>12.04 LTS Precise Pangolin</strong>, y si bien debo reconocer <strong>mejoras</strong> apreciables en el <strong>rendimiento</strong> diario del sistema, también me voy encontrando alguna sorpresa inesperada sobre programas usados hasta entonces que se han visto afectados por la <strong>actualización</strong>.</p>
<div id="attachment_666" class="wp-caption alignleft" style="width: 160px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/05/netbeans-logo.png"><img class="size-thumbnail wp-image-666" title="NetBeans logo" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/05/netbeans-logo-150x150.png" alt="NetBeans logo" width="150" height="150" /></a><p class="wp-caption-text">NetBeans logo</p></div>
<p>Una de esas sorpresas me la encontré hace unos minutos, al intentar abrir el <strong>IDE NetBeans</strong>, retornando el mensaje de error:</p>
<blockquote><p><em>Cannot locate java installation in specified <strong>jdkhome</strong></em></p>
<p><em>/usr/lib/jvm/&#8230;</em></p>
<p><em>Do you want to try to use default version?</em></p></blockquote>
<p>Parece que la actualización a <strong>Ubuntu 12.04 LTS</strong> se llevó consigo la actualización de la <strong>instalación de Java</strong>, y ahora <strong>NetBeans</strong> es incapaz de localizarla.</p>
<p>Por lo tanto, simplemente vamos a avisar a nuestro <strong>IDE NetBeans</strong> la ruta donde se encuentra <strong>instalado Java</strong> para que todo vuelva a la normalidad. Para ello editamos el archivo <strong>netbeans.conf</strong> que encontrarás bajo</p>
<pre class="brush: plain; title: ; notranslate">
/usr/local/netbeans-7.x/etc/netbeans.conf
</pre>
<p>y modificamos la variable <strong>netbeans_jdkhome</strong> indicando tu <strong>directorio de instalación Java</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/658/2012/programacion/cannot-locate-java-installation-in-specified-jdkhome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failed to access IIS metabase ASP.NET</title>
		<link>http://www.v3rgu1.com/blog/649/2012/programacion/failed-to-access-iis-metabase-asp-net/</link>
		<comments>http://www.v3rgu1.com/blog/649/2012/programacion/failed-to-access-iis-metabase-asp-net/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 22:13:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=649</guid>
		<description><![CDATA[Si estás intentando ejecutar tu aplicativo web sobre Internet Information Server (IIS) y recibes el siguiente mensaje de error Failed to access IIS metabase probablemente has instalado IIS después de instalar .NET Framework. La solución pasa por reparar la instalación de ASP.NET Framework 2.0, para ello ejecutamos desde la consola de comandos de Visual Studio: [...]]]></description>
			<content:encoded><![CDATA[<p>Si estás intentando ejecutar tu <strong>aplicativo web</strong> sobre <strong>Internet Information Server (IIS)</strong> y recibes el siguiente mensaje de error</p>
<blockquote><p><strong>Failed to access IIS metabase</strong></p></blockquote>
<p>probablemente has <strong>instalado IIS</strong> después de instalar .NET Framework.</p>
<p>La solución pasa por reparar la instalación de <strong>ASP.NET Framework 2.0</strong>, para ello ejecutamos desde la <strong>consola de comandos de Visual Studio</strong>:</p>
<pre class="brush: plain; title: ; notranslate">
aspnet_regiis.exe -i
</pre>
<p>o desde la <strong>línea de comandos de Windows</strong>:</p>
<pre class="brush: plain; title: ; notranslate">
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
</pre>
<p><span style="text-decoration: underline;">NOTA</span>: Comprueba tu versión concreta de <strong>.NET Framework</strong> para indicarlo en la línea anterior.</p>
<p>Saludos a todos</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/649/2012/programacion/failed-to-access-iis-metabase-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalador Web: Instalación sin completar</title>
		<link>http://www.v3rgu1.com/blog/639/2012/servidores/instalador-web-instalacion-sin-completar/</link>
		<comments>http://www.v3rgu1.com/blog/639/2012/servidores/instalador-web-instalacion-sin-completar/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 20:07:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[servidores]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=639</guid>
		<description><![CDATA[Instalación sin completar

Se interrumpió el instalador antes de poder instalar (NOMBREDELPROYECTO). Debe reiniciar el instalador para intentarlo de nuevo.]]></description>
			<content:encoded><![CDATA[<p>Tenemos el siguiente escenario: <strong>Windows 7</strong> + <strong>IIS7</strong>.</p>
<p>Disponemos a su vez de una <strong>solución</strong> generada en <strong>Visual Studio 2008</strong>, con diversos <strong>proyectos</strong>, entre los que se encuentra un <strong>sitio web</strong>.</p>
<p>Y nos proponemos ahora, la creación de un <strong>proyecto de instalación</strong> para la <strong>aplicación web</strong>.</p>
<p>Hasta aquí sin problemas, hasta que una vez generados los <strong>archivos de instalación Setup.exe y WebSetup.msi</strong>, recibimos el siguiente mensaje de error al ejecutarlos:</p>
<blockquote><p><strong>Instalación sin completar</strong></p>
<p><strong>Se interrumpió el instalador</strong> antes de poder instalar (NOMBREDELPROYECTO). Debe <strong>reiniciar el instalador</strong> para intentarlo de nuevo.</p></blockquote>
<div id="attachment_642" class="wp-caption aligncenter" style="width: 523px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/instalacion-sin-completar-1603.png"><img class="size-full wp-image-642" title="Web Setup: Instalación sin completar" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/instalacion-sin-completar-1603.png" alt="Web Setup: Instalación sin completar" width="513" height="420" /></a><p class="wp-caption-text">Web Setup: Instalación sin completar</p></div>
<p>Tras buscar por internet posibles soluciones, decidimos <strong>activar la compatibilidad de Internet Information Server con IIS6</strong>, y probar suerte.</p>
<p>Para ello, accedemos al <strong>Panel de Control de Windows 7</strong>, y pinchamos en la opción <strong>Activar o desactivar las características de Windows</strong>.</p>
<div id="attachment_641" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/panel-control-windows-7.png"><img class="size-medium wp-image-641" title="Panel de Control Windows 7" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/panel-control-windows-7-300x111.png" alt="Panel de Control Windows 7" width="300" height="111" /></a><p class="wp-caption-text">Panel de Control Windows 7</p></div>
<p>Buscamos la opción <strong>Internet Information Server</strong>, y expandimos su rama, hasta encontrar <strong>Compatibilidad con la Administración de IIS6</strong>.</p>
<p>Una vez ahí, activamos todas las opciones de <strong>Compatibilidad con la Administración de IIS6</strong> como muestra la siguiente imagen:</p>
<div id="attachment_643" class="wp-caption aligncenter" style="width: 439px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/activar-características-windows.png"><img class="size-full wp-image-643 " title="Activar características de Windows - Compatibilidad IIS6" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/activar-características-windows.png" alt="Activar características de Windows - Compatibilidad IIS6" width="429" height="375" /></a><p class="wp-caption-text">Activar características de Windows - Compatibilidad IIS6</p></div>
<p>Et voilà! Volvemos a intentar ejecutar los <strong>archivos de instalación del proyecto web</strong> generados anteriormente y conseguimos continuar la <strong>instalación</strong> sin los problemas generados con anterioridad.</p>
<div id="attachment_644" class="wp-caption aligncenter" style="width: 523px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/web-asistente-instalación.png"><img class="size-full wp-image-644" title="Web Setup: Asistente de instalación" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/03/web-asistente-instalación.png" alt="Web Setup: Asistente de instalación" width="513" height="420" /></a><p class="wp-caption-text">Web Setup: Asistente de instalación</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/639/2012/servidores/instalador-web-instalacion-sin-completar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurando Google Apps para tu dominio</title>
		<link>http://www.v3rgu1.com/blog/604/2012/internet/configurando-google-apps-para-tu-dominio/</link>
		<comments>http://www.v3rgu1.com/blog/604/2012/internet/configurando-google-apps-para-tu-dominio/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 11:25:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[1and1]]></category>
		<category><![CDATA[dominios]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=604</guid>
		<description><![CDATA[A estas alturas, hablar de los beneficios de los servicios de Google como Gmail, Calendar o Google Docs, sería un absurdo por nuestra parte. Así que si tienes un propia empresa o dominio, ¿por qué no aprovechar estos servicios para tu gestión profesional? Google Apps, según su propia definición: Google te ofrece soluciones de TI [...]]]></description>
			<content:encoded><![CDATA[<p>A estas alturas, hablar de los <strong>beneficios de los servicios de Google</strong> como <strong>Gmail, Calendar o Google Docs</strong>, sería un absurdo por nuestra parte.</p>
<p>Así que si tienes un <strong>propia empresa o dominio</strong>, ¿por qué no aprovechar estos servicios para tu <strong>gestión profesional</strong>?</p>
<p><strong>Google Apps</strong>, según su propia definición:</p>
<blockquote><p><strong>Google</strong> te ofrece soluciones de TI empresariales para innovar constantemente en tu empresa y ahorrar el tiempo, el dinero y las dificultades asociados a su administración.</p></blockquote>
<p><strong>Medianas y grandes empresas</strong>, como muchoviaje.com o bbva ya se han <strong>pasado a la nube</strong>, y pueden con ello olvidarse (si quieres) de los eternos y cada vez más obsoletos, programas de escritorio como <strong>Outlook o MS Office</strong>.</p>
<p><strong>Google Apps for Business</strong> es un <strong>servicio de pago</strong>, pero existe una <strong>versión gratuita</strong> (totalmente gratuita, que no de pruebas) pero con ciertas limitaciones.</p>
<p>Una de ellas, podríamos decir la más importante, es la <strong>limitación a un total de 10 usuarios</strong>. Puede parecer poco, y de hecho seguramente lo sea, pero si eres una <strong>pequeña empresa</strong> que está <strong>empezando</strong>, o simplemente quieres probar el servicio, puede venirte bien.</p>
<p>La creación de una <strong>cuenta en Google Apps para tu dominio</strong>, es, como nos tienen acostumbrados desde <strong>Google</strong>, extremadamente <strong>sencilla</strong>, por lo que simplemente debemos seguir los pasos que nos vaya indicando <strong>el asistente de configuración de Google Apps</strong>.</p>
<p>Quizás el único paso algo más complejo, sea la <strong>configuración del correo electrónico a gmail</strong> a través de tu <strong>hosting donde alojes el dominio</strong> de tu empresa.</p>
<p>Por ello, vamos a reproducir los <strong>pasos</strong> dados en nuestro caso para activar <strong>Google Apps</strong>, con el <strong>dominio alojado en <a title="1and1" href="http://1and1.es" target="_blank">1and1.es</a></strong>.</p>
<p>1. En primer lugar, tras haber seleccionado nuestro <strong>hosting en la guía de instalación/configuración de google apps</strong>, se nos indican los pasos a realizar, tal y como muestra la imagen siguiente:</p>
<div id="attachment_623" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/configuracion-gmail-gapps.png"><img class="size-full wp-image-623" title="Configuración GMail Google Apps - 1and1" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/configuracion-gmail-gapps-e1327444832148.png" alt="Configuración GMail Google Apps - 1and1" width="550" height="313" /></a><p class="wp-caption-text">Configuración GMail Google Apps - 1and1</p></div>
<p>2. Accedemos a nuestro <strong>panel de administración de dominios en 1and1</strong>, y tras seleccionar el dominio que usaremos en <strong>Google Apps</strong>, nos dirigimos a <strong>&#8220;Modificar la configuración DNS&#8221;</strong>.</p>
<div id="attachment_624" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/dominios-1and1-configuracion-dns.png"><img class="size-full wp-image-624" title="Acceso 1and1 configuración DNS" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/dominios-1and1-configuracion-dns-e1327445414575.png" alt="Acceso 1and1 configuración DNS" width="550" height="336" /></a><p class="wp-caption-text">Acceso 1and1 configuración DNS</p></div>
<p>3. Por último, simplemente debemos trasladar los valores que <strong>Google Apps</strong> nos ofreció en el primer paso, a tu <strong>configuración dns en <a title="1and1" href="http://1and1.es" target="_blank">1and1</a></strong>. Todo listo.</p>
<div id="attachment_627" class="wp-caption aligncenter" style="width: 542px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/configuracion-dns-1and1-gapps.png"><img class="size-full wp-image-627" title="Configuración DNS en 1and1 para Google Apps" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/configuracion-dns-1and1-gapps.png" alt="Configuración DNS en 1and1 para Google Apps" width="532" height="742" /></a><p class="wp-caption-text">Configuración DNS en 1and1 para Google Apps</p></div>
<p>Para terminar, continúa con el <strong>asistente de configuración de Google Apps</strong>, indicándole que ya has realizados los <strong>cambios de DNS en tu hosting</strong>.</p>
<p>Una vez realizados estos cambios, se verán reflejados en un plazo máximo de 48 horas, aunque seguramente los tendrás disponibles más pronto que tarde.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/604/2012/internet/configurando-google-apps-para-tu-dominio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo crear un Servicio de Windows</title>
		<link>http://www.v3rgu1.com/blog/472/2012/programacion/como-crear-un-servicio-de-windows/</link>
		<comments>http://www.v3rgu1.com/blog/472/2012/programacion/como-crear-un-servicio-de-windows/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 22:22:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Windows Service]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=472</guid>
		<description><![CDATA[Hoy vamos a realizar un pequeño y rápido repaso de cómo crear un Servicio de Windows, en nuestro caso, desde Visual Studio 2008. Tomaremos como base el siguiente enlace oficial de microsoft: http://msdn.microsoft.com/es-es/library/9k985bc9(v=VS.90).aspx Creando Windows Service En primer lugar, seleccionaremos el tipo de plantilla Windows Service o Servicio de Windows para nuestro proyecto. Una vez generado [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy vamos a realizar un pequeño y rápido repaso de <strong>cómo crear un Servicio de Windows</strong>, en nuestro caso, desde <strong>Visual Studio 2008</strong>.</p>
<p>Tomaremos como base el siguiente enlace oficial de microsoft: <a href="http://msdn.microsoft.com/es-es/library/9k985bc9(v=VS.90).aspx" target="_blank">http://msdn.microsoft.com/es-es/library/9k985bc9(v=VS.90).aspx</a></p>
<h3>Creando Windows Service</h3>
<p>En primer lugar, seleccionaremos el tipo de plantilla <strong>Windows Service</strong> o <strong>Servicio de Windows</strong> para nuestro proyecto.</p>
<div id="attachment_612" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/plantilla-visual-studio-windows-service.png"><img class="size-full wp-image-612" title="Plantilla Visual Studio de Windows Service" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/plantilla-visual-studio-windows-service.png" alt="Plantilla Visual Studio de Windows Service" width="400" height="256" /></a><p class="wp-caption-text">Plantilla Visual Studio de Windows Service</p></div>
<p>Una vez <strong>generado el proyecto</strong>, <strong>Visual Studio</strong> generará a partir de <strong>plantilla</strong> los siguientes archivos:</p>
<ul>
<li>Service1.cs (renombrado por manías del guión como Service.cs)</li>
<li>Program.cs</li>
</ul>
<div id="attachment_613" class="wp-caption aligncenter" style="width: 379px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/nuevo-proyecto-windows-service.png"><img class="size-full wp-image-613" title="Nuevo proyecto de Windows Service" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/nuevo-proyecto-windows-service.png" alt="Nuevo proyecto de Windows Service" width="369" height="362" /></a><p class="wp-caption-text">Nuevo proyecto de Windows Service</p></div>
<p>En la clase Service.cs (recordemos que originalmente se llamaba Service1.cs), creamos los siguientes métodos:</p>
<ul>
<li>onstart</li>
<li>onstop</li>
<li>oncontinue</li>
</ul>
<pre class="brush: csharp; title: ; notranslate">

#region &quot;Service Methods&quot;
protected override void OnStart(string[] args)
{
Console.WriteLine(&quot;Inicio servicio&quot;);
}

protected override void OnStop()
{
Console.WriteLine(&quot;Fin servicio&quot;);
}

protected override void OnContinue()
{
Console.WriteLine(&quot;Servicio en ejecución&quot;);
}

#endregion &quot;Service Methods&quot;
</pre>
<p>En el ejemplo simplemente <strong>escribimos por consola</strong> una traza del método que estamos ejecutando.</p>
<div id="attachment_614" class="wp-caption aligncenter" style="width: 636px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/metodos-servicio-windows.png"><img class="size-full wp-image-614" title="Métodos (OnStart, OnStop, OnContinue) Windows Service" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/metodos-servicio-windows.png" alt="Métodos (OnStart, OnStop, OnContinue) Windows Service" width="626" height="622" /></a><p class="wp-caption-text">Métodos (OnStart, OnStop, OnContinue) Windows Service</p></div>
<p>Llegados a este punto, el servicio ya podría arrancar, pero dependiendo de la lógica que deba implementar el servicio, tomaremos diferentes formas de mantener vivo el servicio:</p>
<p>- <span style="text-decoration: underline;">Ejemplo 1</span>: Queremos que nuestro <strong>servicio</strong> se mantenga <strong>a la escucha de recibir mensajes</strong> de fuentes externas, el <strong>pseudocódigo</strong> sería algo así:</p>
<pre class="brush: csharp; title: ; notranslate">

while (true) {

listener.receive();

}
</pre>
<p>- <span style="text-decoration: underline;">Ejemplo 2</span>: Queremos que nuestro <strong>servicio ejecute tareas cada x tiempo</strong>, para lo cual necesitaríamos un <a title="Timer MSDN" href="http://msdn.microsoft.com/es-es/library/system.timers.timer(v=vs.80).aspx" target="_blank">Timer</a> para gestionar la ejecución temporal de dichas <strong>tareas</strong>. En futuros posts crearemos un ejemplo de este tipo de <strong>servicios de windows con timer</strong>.</p>
<h3>Instalando Windows Service</h3>
<p>Vamos a preparar ahora nuestro <strong>servicio de windows</strong> para que podamos <strong>instalarlo</strong>, para ello:</p>
<p>1. Añadimos los servicios de instalación, clickando sobre el botón derecho sobre el <strong>diseñador de Service</strong> y clickamos en &#8220;<strong>Add Installer</strong>&#8221; o &#8220;<strong>Añadir Instalador</strong>&#8220;.</p>
<div id="attachment_616" class="wp-caption aligncenter" style="width: 387px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/servicio-windows-agregar-instalador.png"><img class="size-full wp-image-616" title="Agregar instalador en Windows Service" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/servicio-windows-agregar-instalador.png" alt="Agregar instalador en Windows Service" width="377" height="307" /></a><p class="wp-caption-text">Agregar instalador en Windows Service</p></div>
<p>2. El paso anterior nos genera un nuevo archivo <strong>ProjectInstaller.cs</strong> como el de la imagen siguiente, agregando 2 nuevos componentes.</p>
<div id="attachment_617" class="wp-caption aligncenter" style="width: 421px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/instalador-windows-service.png"><img class="size-full wp-image-617" title="Instalador Servicio de Windows" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/instalador-windows-service.png" alt="Instalador Servicio de Windows" width="411" height="187" /></a><p class="wp-caption-text">Instalador Servicio de Windows</p></div>
<p>En las propiedades de ambos componentes del servicio podremos editar el nombre del servicio, el tipo de arranque (manual, automático o deshabilitado), la cuenta con la que se ejecutará el servicio, etc.</p>
<div id="attachment_618" class="wp-caption aligncenter" style="width: 395px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/propiedades-instalador-windows-service.png"><img class="size-full wp-image-618" title="Propiedades instalador Windows Service" src="http://www.v3rgu1.com/blog/wp-content/uploads/2012/01/propiedades-instalador-windows-service.png" alt="Propiedades instalador Windows Service" width="385" height="368" /></a><p class="wp-caption-text">Propiedades instalador Windows Service</p></div>
<p>Por último, vamos a preparar la <strong>Instalación del servicio de Windows</strong></p>
<p>Crearnos <strong>2 archivos .bat</strong> uno para <strong>instalación y otro desinstalación</strong>, que ejecutarán el <strong>comando InstallUtil</strong></p>
<p>Por ejemplo para instalar y desinstalar respecticamente</p>
<p>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\<strong>InstallUtil</strong> &#8220;C:\Inetpub\wwwroot\myservice\bin\Release\myservice.exe&#8221;pause</p>
<p>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\<strong>InstallUtil -u</strong> &#8220;C:\Inetpub\wwwroot\myservice\bin\Release\myservice.exe&#8221;pause</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/472/2012/programacion/como-crear-un-servicio-de-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El servicio SQL Server se detiene</title>
		<link>http://www.v3rgu1.com/blog/589/2011/bases-de-datos/el-servicio-sql-server-se-detiene/</link>
		<comments>http://www.v3rgu1.com/blog/589/2011/bases-de-datos/el-servicio-sql-server-se-detiene/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 07:46:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=589</guid>
		<description><![CDATA[Recientemente, trabajando con el gestor de base de datos de Microsoft SQL Server 2008 R2 Express, tuvimos problemas con el inicio de su servicio. El servicio estaba establecido con arranque automático, sin embargo, al iniciar windows el servicio de SQL Server aparecía parado; y a pesar de arrancarlo manualmente, a los pocos segundos se volvía [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_590" class="wp-caption alignright" style="width: 273px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2011/12/sql-server-express-2008-r2.jpg"><img class="size-full wp-image-590" title="SQL Server 2008 Express R2" src="http://www.v3rgu1.com/blog/wp-content/uploads/2011/12/sql-server-express-2008-r2.jpg" alt="SQL Server 2008 Express R2" width="263" height="72" /></a><p class="wp-caption-text">SQL Server 2008 Express R2</p></div>
<p>Recientemente, trabajando con el <strong>gestor de base de datos de Microsoft SQL Server 2008 R2 Express</strong>, tuvimos <strong>problemas con el inicio de su servicio</strong>.</p>
<p>El <strong>servicio </strong>estaba establecido con <strong>arranque automático</strong>, sin embargo, <strong>al iniciar windows el servicio de SQL Server aparecía parado</strong>; y a pesar de <strong>arrancarlo manualmente</strong>, a los pocos segundos se volvía a <strong>detener</strong>.</p>
<p>La extrañeza llegó a nuestros corazones, ya que en ningún momento se había realizado ningún cambio en la <strong>base de datos</strong>, ni en el sistema, más allá de las típicas <strong>actualizaciones de Windows</strong>.</p>
<p>Tras probar en varias ocasiones el <strong>arranque manual del servicio</strong> (esperando quizás que el duendecillo de turno lo arreglara sin decir nada), finalmente buscamos <strong>errores </strong>que por suerte se registraron en el <strong>visor de sucesos de Windows</strong>.</p>
<p>El <strong>mensaje </strong>concreto que aparecía en el <strong>visor de eventos</strong> era:</p>
<blockquote><p><em>No se pudo realizar la actualización de nivel de script para la base de datos &#8216;master&#8217; porque el paso de actualización &#8216;sqlagent100_msdb_upgrade.sql&#8217; detectó el <strong>error 574</strong>, estado 0, severidad 16. Se trata de una condición de error grave que podría interferir con las operaciones normales y dejar la base de datos sin conexión. Si el error se produjo durante la actualización de la <strong>base de datos &#8216;maestra&#8217;</strong>, impedirá que se inicie toda la <strong>instancia de SQL Server</strong>. Examine las entradas anteriores del registro de errores, emprenda las acciones correctivas adecuadas y reinicie la base de datos de forma que se puedan completar los pasos de actualización del script.</em></p></blockquote>
<p>Tras un buen rato googleando, confirmamos que el problema se generó tras las <strong>actualizaciones de Windows</strong>, y encontramos la siguiente solución que exponemos a continuación:</p>
<p style="padding-left: 30px;">1. Habilitamos el <strong>indicador de traza 902</strong>, para ello:</p>
<ul>
<li>Abrimos el <strong>Administrador de configuración de SQL Server</strong> (lo encontrarás bajo <strong>Herramientas de configuración</strong>)</li>
<li>En <strong>Servicios de SQL Server</strong>, abrimos el diálogo de <strong>propiedades del servicio SQL Server (SQLEXPRESS)</strong></li>
<li>Accedemos a la ficha de <strong>Opciones Avanzadas</strong></li>
<li>Buscamos la variable <em><strong>&#8220;Parámetros de inicio&#8221;</strong></em> e incluimos &#8220;<strong>;-T902</strong>&#8221; al final del valor.</li>
</ul>
<p style="padding-left: 30px;">2. <strong>Iniciamos el servicio de SQL Server</strong> (en este punto el servicio ya no se detiene)</p>
<p style="padding-left: 30px;">3. Nos conectamos a través de <strong>Microsoft SQL Server Management Studio</strong> al servidor</p>
<p style="padding-left: 30px;">4. En <strong>propiedades del servidor</strong>, desmarcamos la opción <em><strong>&#8220;Implicit transactions&#8221;</strong></em></p>
<div id="attachment_594" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2011/12/sql-server-2008-r2-express-propiedades-e1324366306585.png"><img class="size-full wp-image-594" title="Propiedades de conexión - Microsoft SQL Server Management Studio" src="http://www.v3rgu1.com/blog/wp-content/uploads/2011/12/sql-server-2008-r2-express-propiedades-e1324366306585.png" alt="Propiedades de conexión - Microsoft SQL Server Management Studio" width="540" height="313" /></a><p class="wp-caption-text">Propiedades de conexión - Microsoft SQL Server Management Studio</p></div>
<p style="padding-left: 30px;">5. Volvemos a <strong>detener el servicio</strong>, y <strong>eliminar el indicador de traza 902</strong> habilitado en el punto 1.</p>
<p style="padding-left: 30px;">6. Volvemos a <strong>iniciar </strong>tanto el <strong>servicio de SQL Server</strong> como del <strong>Agente SQL Server</strong></p>
<p style="padding-left: 30px;">7. Volvemos a conectarnos a través de <strong>Microsoft SQL Server Management Studio</strong> y bajo la rama <strong>Administración del explorador de objetos</strong>, botón derecho del ratón en <strong>Recopilación de datos</strong>, y habilitamos la recopilación de datos si existiera la opción.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/589/2011/bases-de-datos/el-servicio-sql-server-se-detiene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No encontrado en Custom Post Type</title>
		<link>http://www.v3rgu1.com/blog/564/2011/programacion/no-encontrado-en-custom-post-type/</link>
		<comments>http://www.v3rgu1.com/blog/564/2011/programacion/no-encontrado-en-custom-post-type/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 21:40:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=564</guid>
		<description><![CDATA[Toda una tarde de domingo perdida, creando tipos de post customizados en wordpress, y encontrándome un bonito error 404 no encontrado o not found cada vez que quería acceder a un post determinado, o a la página general de la categoría. Este es uno de mis custom post types que había generado, y que al [...]]]></description>
			<content:encoded><![CDATA[<p>Toda una tarde de domingo perdida, creando <strong>tipos de post customizados</strong> en <strong>wordpress</strong>, y encontrándome un bonito error <strong>404 no encontrado o not found</strong> cada vez que quería <strong>acceder a un post</strong> determinado, o a la <strong>página</strong> general de la <strong>categoría</strong>.</p>
<p>Este es uno de mis <strong>custom post types</strong> que había generado, y que al intentar acceder a los <strong>post</strong> generados bajo esta <strong>categoría</strong>, me encontraba con el mensaje <strong>No encontrado</strong>.</p>
<pre class="brush: php; title: ; notranslate">

	register_post_type( 'story',
		array(
			'labels' =&gt; array(
				'name' =&gt; __( 'Stories' ),
				'singular_name' =&gt; __( 'Story' )
			),
                        'public' =&gt; true,
                        'publicly_queryable' =&gt; true,
                        'show_ui' =&gt; true,
                        'query_var' =&gt; true,
			'has_archive' =&gt; true,
			'rewrite' =&gt; array('slug' =&gt; 'stories'),
                        'menu_position' =&gt; 5,
                        'supports' =&gt; array (
                            'title', 'editor', 'thumbnail',
                        ),
                        'capability_type' =&gt; 'post',
                        'publicly_queryable' =&gt; true,
                        'taxonomies' =&gt; array('category', 'post_tag')
		)
	);
</pre>
<p>Pues bien, después de pensar durante horas que existía algún fallo en el <strong>código</strong>, después de probar con diferentes <strong>plugins de wordpress</strong>, me da por buscar el problema <strong>Not found</strong> utilizando los <strong>custom post types</strong>, y gracias a que siempre existe alguien capaz de compartir sus experiencias en esto de la programación, encontramos la solución:</p>
<pre class="brush: php; title: ; notranslate">

flush_rewrite_rules( false );
</pre>
<p>Añade la opción</p>
<pre class="brush: php; title: ; notranslate">
'has_archive' =&gt; true,
</pre>
<p>a tu código register_post_type.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/564/2011/programacion/no-encontrado-en-custom-post-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actualizando WordPress: Fatal error: Out of memory</title>
		<link>http://www.v3rgu1.com/blog/535/2011/mi-blog/actualizando-wordpress-fatal-error-out-of-memory/</link>
		<comments>http://www.v3rgu1.com/blog/535/2011/mi-blog/actualizando-wordpress-fatal-error-out-of-memory/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 14:56:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mi blog]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=535</guid>
		<description><![CDATA[Mañana de domingo de otoño, carrera de Fórmula 1 y aburrimiento típico de los domingos. Es un buen momento para hacer una revisión general de nuestros blogs wordpress, que hace meses que no revisamos, y ejecutar las actualizaciones necesarias. Sin embargo, no resultó tan fácil como darle a un botón, ya que uno de mis [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_125" class="wp-caption alignleft" style="width: 135px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2011/10/wordpress-logo.png"><img class="size-full wp-image-125   " style="width: 105px; height: 105px;" title="Wordpress logo" src="http://www.v3rgu1.com/blog/wp-content/uploads/2011/10/wordpress-logo.png" alt="Wordpress logo" width="105" height="105" /></a><p class="wp-caption-text">Wordpress logo</p></div>
<p>Mañana de domingo de otoño, carrera de Fórmula 1 y aburrimiento típico de los domingos.<br />
Es un buen momento para hacer una revisión general de nuestros <strong>blogs wordpress</strong>, que hace meses que no revisamos, y ejecutar las <strong>actualizaciones</strong> necesarias.</p>
<p>Sin embargo, no resultó tan fácil como darle a un botón, ya que uno de mis blogs <strong>wordpress</strong> (alojado en <strong><a title="1 and 1 hosting" href="http://1and1.es" target="_blank">1and1</a></strong>) mostraba el siguiente mensaje de error en el momento de lanzar la actualización:</p>
<p><br/></p>
<div style="border: solid 1px #CCCCCC; margin: auto; width: 550px; border-radius: 5px; padding: 10px; background-color: #efefef;">
<blockquote><p><span style="font-size: 20px; font-weight: bold;">Actualizar WordPress</span></p>
<p>Descargando paquete de instalación desde http://es.wordpress.org/wordpress-3.2.1-es_ES.zip…</p>
<h1 style="font-size: 1.2em;"><strong>Fatal error</strong>: Out of memory</h1>
<p>(allocated 28311552) (tried to allocate 4346065 bytes) in <strong>/homepages/28/d322425856/htdocs/&#8230;/wp-includes/class-http.php</strong> on line <strong>1426</strong></p></blockquote>
</div>
<p>El problema se reduce a que la <strong>actualización</strong> necesita <strong>más memoria</strong> de la que por <strong>configuración</strong> tiene permitida nuestra aplicación <strong>php</strong>.</p>
<p>A continuación os dejo las diferentes opciones recopiladas que he ido encontrando por la red, hasta dar con la válida que ha funcionado en nuestro caso.</p>
<ul>
<li><strong>wp-settings.php</strong>: <strong>ampliamos el límite de memoria</strong> permitida añadiendo la siguiente línea de <strong>código php</strong></li>
</ul>
<pre class="brush: php; title: ; notranslate">
define('WP_MEMORY_LIMIT', '128M');
</pre>
<ul>
<li><strong>.htaccess</strong>: ampliando el <strong>límite de memoria</strong> a través del <strong>archivo de configuración de apache .htaccess</strong>, añadiendo las siguientes líneas</li>
</ul>
<pre class="brush: plain; title: ; notranslate">
# PHP 4, Apache 2.

php_value memory_limit 96M

# PHP 5, Apache 1 and 2.

php_value memory_limit 96M
</pre>
<ul>
<li><strong>php.ini</strong>: ampliando el <strong>límite de memoria de php</strong> a través del <strong>archivo de configuración php.ini</strong>, que incluiremos en el <strong>directorio raíz de nuestro blog</strong> y bajo el <strong>directorio wp-admin</strong> (esta es la opción que nos funcionó en nuestro <strong>alojamiento 1and1.es</strong>)</li>
</ul>
<pre class="brush: plain; title: ; notranslate">
memory_limit=64M
</pre>
<p>Confiamos en que os sea de utilidad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/535/2011/mi-blog/actualizando-wordpress-fatal-error-out-of-memory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Habilitar la pluralización de nombres</title>
		<link>http://www.v3rgu1.com/blog/520/2011/programacion/habilitar-la-pluralizacion-de-nombres/</link>
		<comments>http://www.v3rgu1.com/blog/520/2011/programacion/habilitar-la-pluralizacion-de-nombres/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 21:14:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=520</guid>
		<description><![CDATA[Recientemente me encontraba realizando un proyecto en el que estaba utilizando linq para trabajar con base de datos. Para ello, generamos nuestro modelo de datos mapeando la base de datos a través de la funcionalidad que proporciona Visual Studio: LINQ to SQL classes. A grandes rasgos, lo que consigues mapeando tu base de datos a [...]]]></description>
			<content:encoded><![CDATA[<p>Recientemente me encontraba realizando un proyecto en el que estaba utilizando <strong>linq</strong> para trabajar con <strong>base de datos</strong>.</p>
<p>Para ello, generamos nuestro <strong>modelo de datos mapeando la base de datos</strong> a través de la funcionalidad que proporciona <strong>Visual Studio</strong>: <strong>LINQ to SQL classes</strong>.</p>
<p>A grandes rasgos, lo que consigues <strong>mapeando tu base de datos a través de un modelo de datos</strong>, en este caso a través de <strong>LINQ</strong>, es <strong>generar clases correspondientes a cada una de las tablas</strong> existentes.</p>
<p>En próximos posts nos adentraremos más a fondo en <strong>cómo funciona LINQ</strong>, porque hoy es únicamente momento de explicar <strong>cómo habilitar la pluralización de nombres</strong>.</p>
<p>Pues bien, como hemos dicho, <strong>por cada tabla, se crea una clase</strong>, y ahí está el fin de este artículo. El proyecto del que os hablo, lo estaba realizando en diferentes ordenadores sobre <strong>Visual Studio 2008</strong>, y daba la casualidad, de que al <strong>regenerar el modelo de datos (LINQ to classes)</strong>, en ocasiones aparecían <strong>los nombres de las clases en plural</strong> y en otras ocasiones <strong>los nombres de las clases en singular</strong>.</p>
<p>La primera vez no le di mayor importancia, seguro por desconocimiento, y lo achaqué a algún despiste inicial en la <strong>generación del diseño de datos</strong>.</p>
<p>Pues bien, nada más lejos de la realidad. Estos <strong>nombres de clases en plural o singular en nuestro modelo de datos generado para linq</strong>, podemos elegir si los deseamos trabajar en <strong>plural o singular</strong>.</p>
<p>Para ello, simplemente debemos configurar <strong>Visual Studio</strong> de la siguiente forma:</p>
<p style="padding-left: 30px;"><strong>Herramientas</strong> &#8211;&gt; <strong>Opciones</strong></p>
<p style="padding-left: 30px;">Dentro del cuadro de <strong>diálogo de Opciones</strong>, expandimos la sección de <strong>Herramientas para base de datos</strong>, para seleccionar a continuación la opción <strong>O/R Designer</strong>.</p>
<p style="padding-left: 30px;">Una vez llegados a este punto, simplemente debemos elegir <strong>True o False para habilitar</strong> o no la <strong>pluralización de nombres del diseño de bbdd</strong>.</p>
<div id="attachment_524" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.v3rgu1.com/blog/wp-content/uploads/2011/10/linq-classes-nombres-plural.png"><img class="size-full wp-image-524" title="Nombres en plural modelo de datos LINQ" src="http://www.v3rgu1.com/blog/wp-content/uploads/2011/10/linq-classes-nombres-plural.png" alt="Nombres en plural modelo de datos LINQ" width="550" height="460" style="width: 550px;" /></a><p class="wp-caption-text">Nombres en plural modelo de datos LINQ</p></div>
<p>Para más información podéis acceder al siguiente enlace de microsoft: <strong><a title="Nombres en plural LINQ to classes" href="http://msdn.microsoft.com/es-es/library/bb384507.aspx" target="_blank">activar y desactivar la pluralización</a></strong></p>
<h1></h1>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/520/2011/programacion/habilitar-la-pluralizacion-de-nombres/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solucionando &#8230; Error Fetching http headers soap</title>
		<link>http://www.v3rgu1.com/blog/506/2011/programacion/solucionando-error-fetching-http-headers-soap/</link>
		<comments>http://www.v3rgu1.com/blog/506/2011/programacion/solucionando-error-fetching-http-headers-soap/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 11:31:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Service]]></category>

		<guid isPermaLink="false">http://www.v3rgu1.com/blog/?p=506</guid>
		<description><![CDATA[Si has llegado hasta aquí, seguramente ya hayas trabajado con Web Services en diferentes lenguajes de programación. Y si has obtenido la excepcioń &#8220;Error Fetching http headers&#8221;, estarás trabajando en estos momentos con PHP. En primer lugar comentarte que este mensaje de error tan descriptivo &#8220;Error Fetching http headers&#8220; se habrá producido con gran probabilidad [...]]]></description>
			<content:encoded><![CDATA[<p>Si has llegado hasta aquí, seguramente ya hayas trabajado con <strong>Web Services</strong> en diferentes <strong>lenguajes de programación</strong>.<br />
Y si has obtenido la excepcioń <strong><em>&#8220;Error Fetching http headers&#8221;</em></strong>, estarás trabajando en estos momentos con <strong>PHP</strong>.</p>
<p>En primer lugar comentarte que este mensaje de <strong>error</strong> tan descriptivo <em>&#8220;<strong>Error Fetching http headers</strong>&#8220;</em> se habrá producido con gran probabilidad porque ha transcurrido <strong>demasiado tiempo ejecutando la llamada al web services</strong>, o en otras palabras un poco más técnicas, porque <strong>ha expirado el tiempo máximo de espera de ejecución sobre el Web Services</strong>.</p>
<p>Lo que en otras <strong>plataformas como Java o .NET</strong> recibiríamos como una <strong>excepción</strong> del tipo <strong>TimeoutException</strong>, aquí lo recibimos como <em><strong>Error Fetching http headers soap</strong></em>.</p>
<h3>¿Cómo podemos entonces indicarle a PHP que queremos incrementar el tiempo de espera?</h3>
<p>Si tienes acceso a la <strong>configuración del servidor</strong>, basta con que busques en tu fichero <strong>php.ini</strong> la variable <strong>default_socket_timeout</strong> y definas el nuevo <strong>tiempo máximo de ejecución</strong> (en segundos) que quieras establecer.</p>
<pre class="brush: plain; title: ; notranslate">
default_socket_timeout = 6000
</pre>
<p>Si por el contrario <strong>no tienes acceso al fichero de configuración php.ini</strong>, o simplemente prefieres <strong>establecer el valor de timeout sobre el web service en tiempo de ejecución</strong>, siempre puedes <strong>definir</strong> este tipo de <strong>variables de configuración del sistema</strong> a través de la función <strong>ini_set</strong>(string $varname , string $newvalue).</p>
<pre class="brush: php; title: ; notranslate">
ini_set('default_socket_timeout', 600);
</pre>
<p>Espero que la <strong>solución</strong> te sea de utilidad como me ha sido a mí.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v3rgu1.com/blog/506/2011/programacion/solucionando-error-fetching-http-headers-soap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

