<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Germandt</id>
		<title>Dos Ideas. - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Germandt"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Especial:Contribuciones/Germandt"/>
		<updated>2026-05-12T13:53:00Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=SoapUI_Con_JUnit&amp;diff=5219</id>
		<title>SoapUI Con JUnit</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=SoapUI_Con_JUnit&amp;diff=5219"/>
				<updated>2010-07-14T15:18:35Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es muy fácil incorporar la suite de test [[JUnit]] generada por [[SoapUI]] a nuestro proyecto y poder así sumar estos test a los test de integración de nuestra aplicación. &lt;br /&gt;
&lt;br /&gt;
Librerias a incluir en el modulo de test de nuestro proyecto: &lt;br /&gt;
&lt;br /&gt;
*bcprov-jdk15-138.jar &lt;br /&gt;
*commons-beanutils.jar &lt;br /&gt;
*commons-beanutils-1.7.0.jar&lt;br /&gt;
*commons-cli.jar &lt;br /&gt;
*commons-codec.jar &lt;br /&gt;
*commons-httpclient.jar &lt;br /&gt;
*not-yet-commons-ssl.jar &lt;br /&gt;
*saxon-dom-9.1.0.8j.jar&lt;br /&gt;
*saxon-9.1.0.8j.jar&lt;br /&gt;
*soapui.jar &lt;br /&gt;
*soapui-xmlbeans.jar &lt;br /&gt;
*soap-xmlbeans.jar &lt;br /&gt;
*xbean-fixed.jar &lt;br /&gt;
*xmlpublic.jar&lt;br /&gt;
*xbean_xpath-2.4.0.jar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al incluir las librerias propuesta arriba podremos correr los tests con Junit y fucionarán los siguientes asserts de SoapUI:&lt;br /&gt;
&lt;br /&gt;
*Contains&lt;br /&gt;
*SOAP response&lt;br /&gt;
*Soap fault&lt;br /&gt;
*Schema Compliance&lt;br /&gt;
*not soap fault&lt;br /&gt;
&lt;br /&gt;
Si se desean otras validaciones sobre la respuesta deberán agregar otros JARs que see encuentran dentro del directorio donde se instalo SoapUI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; De esta manera corremos la batería completa de test de un proyecto. Hay que tener en cuenta que al tener un solo test para toda la batería, cuando surge un error no se continúa con el resto de los test. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundo() throws Exception &lt;br /&gt;
{&lt;br /&gt;
	SoapUITestCaseRunner runner = new SoapUITestCaseRunner(); &lt;br /&gt;
	runner.setProjectFile( &amp;quot;src/dist/HolaMundo-soapui-project.xml&amp;quot; );&lt;br /&gt;
	runner.run(); &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
También existe la posibilidad de correr individualmente cada uno de los test. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WsdlProject wsdlProject = null;&lt;br /&gt;
TestSuite testSuite = null;&lt;br /&gt;
&lt;br /&gt;
@Before&lt;br /&gt;
public void setUp() throws Exception {&lt;br /&gt;
&lt;br /&gt;
        wsdlProject = new WsdlProject(&amp;quot;src/dist/HolaMundo-soapui-project.xml&amp;quot;);&lt;br /&gt;
        testSuite = wsdlProject.getTestSuiteByName(&amp;quot;HolaMundo&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundoOk() {&lt;br /&gt;
&lt;br /&gt;
        TestCase testCase = testSuite.getTestCaseByName(&amp;quot;HolaMundoOk&amp;quot;);&lt;br /&gt;
        TestRunner runner = testCase.run(new PropertiesMap(), false);&lt;br /&gt;
        assertEquals(Status.FINISHED, runner.getStatus());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundoError() {&lt;br /&gt;
&lt;br /&gt;
        TestCase testCase = testSuite.getTestCaseByName(&amp;quot;HolaMundoError&amp;quot;);&lt;br /&gt;
        TestRunner runner = testCase.run(new PropertiesMap(), false);&lt;br /&gt;
        assertEquals(Status.FINISHED, runner.getStatus());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Problemas con Assertions  ==&lt;br /&gt;
&lt;br /&gt;
Se presentan ciertos problemas al correr los test SoapUi con JUnit. &lt;br /&gt;
&lt;br /&gt;
Soapui propone muchas formas para realizar assert sobre el response de un ws, a continuación un breve explicación de cada una: &lt;br /&gt;
&lt;br /&gt;
*'''WS-security status'''&amp;amp;nbsp;: Chequea que el reponse tenga un encabezado ws-security válido. &lt;br /&gt;
*'''not soap fault'''&amp;amp;nbsp;: Chequea que el response no sea un fault. &lt;br /&gt;
*'''Response SLA'''&amp;amp;nbsp;: Chequea que el response haya tardado menos del tiempo configurado. &lt;br /&gt;
*'''SOAP response''': Chequea que el response sea un mensaje soap. &lt;br /&gt;
*'''Script assertion''': Permite hacer scrips de groovy para realizar assert con el response. &lt;br /&gt;
*'''WS adressing response''': Chequea que el encabezado del resopnse tenga propiedades válidas. &lt;br /&gt;
*'''Contains''': Chequea que el response contenga un valor o un tag con un valor determinado. &lt;br /&gt;
*'''Not Contains''': Chequea que el response no contenga un valor o un tag con un valor determinado. &lt;br /&gt;
*'''xQuery math''': Permite chequear el contenido del response con expresiones de xquery 2.0. &lt;br /&gt;
*'''Schema Compliance''': Chequea que el response sea compatible con un shema dado. &lt;br /&gt;
*'''xPath match''': Permite chquear el contenido del response con expresiones de xPath. &lt;br /&gt;
*'''Soap fault''': Chequea que el response sea un fault.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos assert son muy completos y muy fáciles de usar con SoapUI. En principio con los contains se pueden hacer asserts sobre todo el response, pero tienen una serie de limitaciones: solo permite hacer assert por tag, es decir, que no se puede hacer un assert del xml completo, con lo cual si el xml del response tiene 20 tag, habrá que hacer 20 assert distintos. Otro punto en contra es que no hay un forma con las assertions para testeas los tags en el caso de que nuestro WebServices retorne una colección de datos, ya que es estos casos hace un assert sobre todo el xml, sin controlar la cantidad.&lt;br /&gt;
&lt;br /&gt;
== Ver también  ==&lt;br /&gt;
&lt;br /&gt;
*[[Mock de un web service con Jetty|Alternativa a SoapUI utilizando Jetty]] &lt;br /&gt;
*[http://www.soapui.org/userguide/commandline/functional.html SoapUITestCaseRunner ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Web_Service]] [[Category:JUnit]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=SoapUI_Con_JUnit&amp;diff=5218</id>
		<title>SoapUI Con JUnit</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=SoapUI_Con_JUnit&amp;diff=5218"/>
				<updated>2010-07-14T15:16:54Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es muy fácil incorporar la suite de test [[JUnit]] generada por [[SoapUI]] a nuestro proyecto y poder así sumar estos test a los test de integración de nuestra aplicación. &lt;br /&gt;
&lt;br /&gt;
Librerias a incluir en el modulo de test de nuestro proyecto: &lt;br /&gt;
&lt;br /&gt;
*bcprov-jdk15-138.jar &lt;br /&gt;
*commons-beanutils.jar &lt;br /&gt;
*commons-beanutils-1.7.0.jar&lt;br /&gt;
*commons-cli.jar &lt;br /&gt;
*commons-codec.jar &lt;br /&gt;
*commons-httpclient.jar &lt;br /&gt;
*not-yet-commons-ssl.jar &lt;br /&gt;
*saxon-dom-9.1.0.8j.jar&lt;br /&gt;
*saxon-9.1.0.8j.jar&lt;br /&gt;
*soapui.jar &lt;br /&gt;
*soapui-xmlbeans.jar &lt;br /&gt;
*soap-xmlbeans.jar &lt;br /&gt;
*xbean-fixed.jar &lt;br /&gt;
*xmlpublic.jar&lt;br /&gt;
*xbean_xpath-2.4.0.jar&lt;br /&gt;
&lt;br /&gt;
Al incluir las librerias propuesta arriba podremos correr los tests con Junit y fucionarán los siguientes asserts de SoapUI&lt;br /&gt;
&lt;br /&gt;
*'''Contains'''&lt;br /&gt;
*'''SOAP response'''&lt;br /&gt;
*'''Soap fault'''&lt;br /&gt;
*'''Schema Compliance'''&lt;br /&gt;
*'''not soap fault'''&lt;br /&gt;
&lt;br /&gt;
Si se desean otras validaciones sobre la respuesta deberán agregar más JARs que see encuentran dentro del directorio donde se instalo SoapUI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; De esta manera corremos la batería completa de test de un proyecto. Hay que tener en cuenta que al tener un solo test para toda la batería, cuando surge un error no se continúa con el resto de los test. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundo() throws Exception &lt;br /&gt;
{&lt;br /&gt;
	SoapUITestCaseRunner runner = new SoapUITestCaseRunner(); &lt;br /&gt;
	runner.setProjectFile( &amp;quot;src/dist/HolaMundo-soapui-project.xml&amp;quot; );&lt;br /&gt;
	runner.run(); &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
También existe la posibilidad de correr individualmente cada uno de los test. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WsdlProject wsdlProject = null;&lt;br /&gt;
TestSuite testSuite = null;&lt;br /&gt;
&lt;br /&gt;
@Before&lt;br /&gt;
public void setUp() throws Exception {&lt;br /&gt;
&lt;br /&gt;
        wsdlProject = new WsdlProject(&amp;quot;src/dist/HolaMundo-soapui-project.xml&amp;quot;);&lt;br /&gt;
        testSuite = wsdlProject.getTestSuiteByName(&amp;quot;HolaMundo&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundoOk() {&lt;br /&gt;
&lt;br /&gt;
        TestCase testCase = testSuite.getTestCaseByName(&amp;quot;HolaMundoOk&amp;quot;);&lt;br /&gt;
        TestRunner runner = testCase.run(new PropertiesMap(), false);&lt;br /&gt;
        assertEquals(Status.FINISHED, runner.getStatus());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundoError() {&lt;br /&gt;
&lt;br /&gt;
        TestCase testCase = testSuite.getTestCaseByName(&amp;quot;HolaMundoError&amp;quot;);&lt;br /&gt;
        TestRunner runner = testCase.run(new PropertiesMap(), false);&lt;br /&gt;
        assertEquals(Status.FINISHED, runner.getStatus());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Problemas con Assertions  ==&lt;br /&gt;
&lt;br /&gt;
Se presentan ciertos problemas al correr los test SoapUi con JUnit. &lt;br /&gt;
&lt;br /&gt;
Soapui propone muchas formas para realizar assert sobre el response de un ws, a continuación un breve explicación de cada una: &lt;br /&gt;
&lt;br /&gt;
*'''WS-security status'''&amp;amp;nbsp;: Chequea que el reponse tenga un encabezado ws-security válido. &lt;br /&gt;
*'''not soap fault'''&amp;amp;nbsp;: Chequea que el response no sea un fault. &lt;br /&gt;
*'''Response SLA'''&amp;amp;nbsp;: Chequea que el response haya tardado menos del tiempo configurado. &lt;br /&gt;
*'''SOAP response''': Chequea que el response sea un mensaje soap. &lt;br /&gt;
*'''Script assertion''': Permite hacer scrips de groovy para realizar assert con el response. &lt;br /&gt;
*'''WS adressing response''': Chequea que el encabezado del resopnse tenga propiedades válidas. &lt;br /&gt;
*'''Contains''': Chequea que el response contenga un valor o un tag con un valor determinado. &lt;br /&gt;
*'''Not Contains''': Chequea que el response no contenga un valor o un tag con un valor determinado. &lt;br /&gt;
*'''xQuery math''': Permite chequear el contenido del response con expresiones de xquery 2.0. &lt;br /&gt;
*'''Schema Compliance''': Chequea que el response sea compatible con un shema dado. &lt;br /&gt;
*'''xPath match''': Permite chquear el contenido del response con expresiones de xPath. &lt;br /&gt;
*'''Soap fault''': Chequea que el response sea un fault.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos assert son muy completos y muy fáciles de usar con SoapUI. En principio con los contains se pueden hacer asserts sobre todo el response, pero tienen una serie de limitaciones: solo permite hacer assert por tag, es decir, que no se puede hacer un assert del xml completo, con lo cual si el xml del response tiene 20 tag, habrá que hacer 20 assert distintos. Otro punto en contra es que no hay un forma con las assertions para testeas los tags en el caso de que nuestro WebServices retorne una colección de datos, ya que es estos casos hace un assert sobre todo el xml, sin controlar la cantidad.&lt;br /&gt;
&lt;br /&gt;
== Ver también  ==&lt;br /&gt;
&lt;br /&gt;
*[[Mock de un web service con Jetty|Alternativa a SoapUI utilizando Jetty]] &lt;br /&gt;
*[http://www.soapui.org/userguide/commandline/functional.html SoapUITestCaseRunner ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Web_Service]] [[Category:JUnit]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=SoapUI_Con_JUnit&amp;diff=5217</id>
		<title>SoapUI Con JUnit</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=SoapUI_Con_JUnit&amp;diff=5217"/>
				<updated>2010-07-14T15:09:28Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Problemas con Assertions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es muy fácil incorporar la suite de test [[JUnit]] generada por [[SoapUI]] a nuestro proyecto y poder así sumar estos test a los test de integración de nuestra aplicación. &lt;br /&gt;
&lt;br /&gt;
Librerias a incluir en el modulo de test de nuestro proyecto: &lt;br /&gt;
&lt;br /&gt;
*bcprov-jdk15-138.jar &lt;br /&gt;
*commons-beanutils.jar &lt;br /&gt;
*commons-cli.jar &lt;br /&gt;
*commons-codec.jar &lt;br /&gt;
*commons-httpclient.jar &lt;br /&gt;
*not-yet-commons-ssl.jar &lt;br /&gt;
*soapui.jar &lt;br /&gt;
*soapui-xmlbeans.jar &lt;br /&gt;
*soap-xmlbeans.jar &lt;br /&gt;
*xbean-fixed.jar &lt;br /&gt;
*xmlpublic.jar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; De esta manera corremos la batería completa de test de un proyecto. Hay que tener en cuenta que al tener un solo test para toda la batería, cuando surge un error no se continúa con el resto de los test. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundo() throws Exception &lt;br /&gt;
{&lt;br /&gt;
	SoapUITestCaseRunner runner = new SoapUITestCaseRunner(); &lt;br /&gt;
	runner.setProjectFile( &amp;quot;src/dist/HolaMundo-soapui-project.xml&amp;quot; );&lt;br /&gt;
	runner.run(); &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
También existe la posibilidad de correr individualmente cada uno de los test. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WsdlProject wsdlProject = null;&lt;br /&gt;
TestSuite testSuite = null;&lt;br /&gt;
&lt;br /&gt;
@Before&lt;br /&gt;
public void setUp() throws Exception {&lt;br /&gt;
&lt;br /&gt;
        wsdlProject = new WsdlProject(&amp;quot;src/dist/HolaMundo-soapui-project.xml&amp;quot;);&lt;br /&gt;
        testSuite = wsdlProject.getTestSuiteByName(&amp;quot;HolaMundo&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundoOk() {&lt;br /&gt;
&lt;br /&gt;
        TestCase testCase = testSuite.getTestCaseByName(&amp;quot;HolaMundoOk&amp;quot;);&lt;br /&gt;
        TestRunner runner = testCase.run(new PropertiesMap(), false);&lt;br /&gt;
        assertEquals(Status.FINISHED, runner.getStatus());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@Test&lt;br /&gt;
public void holaMundoError() {&lt;br /&gt;
&lt;br /&gt;
        TestCase testCase = testSuite.getTestCaseByName(&amp;quot;HolaMundoError&amp;quot;);&lt;br /&gt;
        TestRunner runner = testCase.run(new PropertiesMap(), false);&lt;br /&gt;
        assertEquals(Status.FINISHED, runner.getStatus());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Problemas con Assertions  ==&lt;br /&gt;
&lt;br /&gt;
Se presentan ciertos problemas al correr los test SoapUi con JUnit. &lt;br /&gt;
&lt;br /&gt;
Soapui propone muchas formas para realizar assert sobre el response de un ws, a continuación un breve explicación de cada una: &lt;br /&gt;
&lt;br /&gt;
*'''WS-security status'''&amp;amp;nbsp;: Chequea que el reponse tenga un encabezado ws-security válido. &lt;br /&gt;
*'''not soap fault'''&amp;amp;nbsp;: Chequea que el response no sea un fault. &lt;br /&gt;
*'''Response SLA'''&amp;amp;nbsp;: Chequea que el response haya tardado menos del tiempo configurado. &lt;br /&gt;
*'''SOAP response''': Chequea que el response sea un mensaje soap. &lt;br /&gt;
*'''Script assertion''': Permite hacer scrips de groovy para realizar assert con el response. &lt;br /&gt;
*'''WS adressing response''': Chequea que el encabezado del resopnse tenga propiedades válidas. &lt;br /&gt;
*'''Contains''': Chequea que el response contenga un valor o un tag con un valor determinado. &lt;br /&gt;
*'''Not Contains''': Chequea que el response no contenga un valor o un tag con un valor determinado. &lt;br /&gt;
*'''xQuery math''': Permite chequear el contenido del response con expresiones de xquery 2.0. &lt;br /&gt;
*'''Schema Compliance''': Chequea que el response sea compatible con un shema dado. &lt;br /&gt;
*'''xPath match''': Permite chquear el contenido del response con expresiones de xPath. &lt;br /&gt;
*'''Soap fault''': Chequea que el response sea un fault.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos assert son muy completos y muy fáciles de usar con el sopUI. En principio con los contains se pueden hacer asserts sobre todo el response, pero tienen una serie de limitaciones: solo permite hacer assert por tag, es decir, que no se puede hacer un assert del xml completo, con lo cual si el xml del response tiene 20 tag, habrá que hacer 20 assert distintos. Otro punto en contra es que no hay un forma con las assertions para testeas los tags en el caso de que nuestro WebServices retorne una colección de datos, ya que es estos casos hace un assert sobre todo el xml, sin controlar la cantidad.&lt;br /&gt;
&lt;br /&gt;
== Ver también  ==&lt;br /&gt;
&lt;br /&gt;
*[[Mock de un web service con Jetty|Alternativa a SoapUI utilizando Jetty]] &lt;br /&gt;
*[http://www.soapui.org/userguide/commandline/functional.html SoapUITestCaseRunner ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Web_Service]] [[Category:JUnit]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Eclipse-CS&amp;diff=4926</id>
		<title>Eclipse-CS</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Eclipse-CS&amp;diff=4926"/>
				<updated>2010-03-26T17:41:44Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Instalación del plug-in de Checkstyle para Eclipse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:IDE]]&lt;br /&gt;
El plug-in de [[Checkstyle]] eclipse-cs integra el analizador de código fuente Checkstyle con el [[IDE]] [[Eclipse]].&lt;br /&gt;
&lt;br /&gt;
Con el plug-in de Eclipse Checkstyle el código fuente es constantemente inspeccionado en busca de problemas. Dentro del Eclipse se notifican los problemas a través de la Vista de Problemas y con anotaciones en el código fuente, de la misma forma que se ven los errores o warnings del compilador.&lt;br /&gt;
&lt;br /&gt;
==Instalación del plug-in de Checkstyle para Eclipse==&lt;br /&gt;
&lt;br /&gt;
# En el Eclipse ir a Help-&amp;gt;Software Updates...&lt;br /&gt;
# Agregar el sitio http://eclipse-cs.sf.net/update/&lt;br /&gt;
# Marcar la versión del plugin que se desea intalar&lt;br /&gt;
# Rever y confirmar los plugins a instalar. &lt;br /&gt;
# Reiniciar el Eclipse.&lt;br /&gt;
&lt;br /&gt;
=== Configuración ===&lt;br /&gt;
&lt;br /&gt;
Para configurar el uso de un archivo propio de reglas existente hay varias formas de hacerlo. Ésto se puede configurar para que sea global al workspace ó local a un proyecto.&lt;br /&gt;
&lt;br /&gt;
====Configuración de un archivo propio de reglas de manera global al workspace====&lt;br /&gt;
&lt;br /&gt;
# Ir al menú &amp;quot;Windows&amp;quot;-&amp;gt;&amp;quot;Preferences...&amp;quot;, y seleccionar &amp;quot;Checkstyle&amp;quot;.&lt;br /&gt;
# Clickear el botón &amp;quot;New…&amp;quot;&lt;br /&gt;
# En el cuadro de diálogo que aparece, en &amp;quot;Type&amp;quot; seleccionar &amp;quot;External Configuration File&amp;quot;. Ponerle un nombre en &amp;quot;Name&amp;quot; (por ej. !DosIdeas Checks ). En &amp;quot;Location&amp;quot; poner la ubicación del archivo a utilizar o buscarlo en alguna carpeta con el botón &amp;quot;Browse…&amp;quot;. Aceptar los cambios con el botón &amp;quot;OK&amp;quot;.&lt;br /&gt;
# Seleccionar el archivo en la grilla y dejarlo como default con el botón &amp;quot;Set as Default&amp;quot;.&lt;br /&gt;
# Aceptar los cambios con el botón &amp;quot;OK&amp;quot;.&lt;br /&gt;
# Luego ir a las propiedades de Checkstyle de cada proyecto (botón derecho, &amp;quot;Properties&amp;quot;-&amp;gt;&amp;quot;Checkstyle&amp;quot;) y en la pestaña &amp;quot;Main&amp;quot; dejar tildado &amp;quot;Use simple configuration&amp;quot;.&lt;br /&gt;
# En el combo elegir la configuración de reglas que queremos usar.&lt;br /&gt;
# Aceptar los cambios con el botón &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Configuración de un archivo propio de reglas de manera local al proyecto (y dentro del mismo proyecto)====&lt;br /&gt;
&lt;br /&gt;
# Ir a las propiedades de Checkstyle del proyecto (botón derecho, &amp;quot;Properties&amp;quot;-&amp;gt;&amp;quot;Checkstyle&amp;quot;).&lt;br /&gt;
# Ir a la pestaña &amp;quot;Local Check Configuracions&amp;quot; y presionar el botón &amp;quot;New...&amp;quot;.&lt;br /&gt;
# En el cuadro de diálogo que aparece, en &amp;quot;Type&amp;quot; seleccionar &amp;quot;Project Relative Configuration&amp;quot;. Ponerle un nombre en &amp;quot;Name&amp;quot; (por ej. !DosIdeas Local Checks ). En &amp;quot;Location&amp;quot; poner la ubicación del archivo a utilizar o buscarlo en algun proyecto con el botón &amp;quot;Browse…&amp;quot;. Aceptar los cambios con el botón &amp;quot;OK&amp;quot;.&lt;br /&gt;
# Ir a la pestaña &amp;quot;Main&amp;quot; y dejar tildado &amp;quot;Use simple configuration&amp;quot;.&lt;br /&gt;
# En el combo elegir la configuración de reglas que queremos usar, que puede ser la local al proyecto que acabamos de crear.&lt;br /&gt;
# Aceptar los cambios con el botón &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Forma de uso==&lt;br /&gt;
&lt;br /&gt;
* Para correr el Checkstyle, posicionarse en el nodo de un proyecto y clickear el botón derecho.&lt;br /&gt;
* En el menú contextual seleccionar &amp;quot;Checkstyle&amp;quot;-&amp;gt;&amp;quot;Activate Checkstyle&amp;quot; ó &amp;quot;Check Code with Checkstyle&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [[Checkstyle]]&lt;br /&gt;
* [http://eclipse-cs.sourceforge.net/ Web oficial de Eclipse-CS]&lt;br /&gt;
&lt;br /&gt;
[[Category:Métricas]]&lt;br /&gt;
[[Category:IDE]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Spring_Web_Services&amp;diff=4853</id>
		<title>Spring Web Services</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Spring_Web_Services&amp;diff=4853"/>
				<updated>2010-03-11T18:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Las principales características de Spring-WS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;	[http://static.springframework.org/spring-ws/sites/1.5/ Spring Web] Services (Spring-WS) es un producto de Spring Framework para facilitar la creación de servicios web basados en el intercambio de documentos (document driven). &lt;br /&gt;
&lt;br /&gt;
Spring-WS Se basa en servicios en los cuales primero se establece un contrato y luego se implementan (contract first), evitando atar al contrato como sucede en los casos en los cuales se genera el mismo a partir de las clases java.&lt;br /&gt;
&lt;br /&gt;
==Las principales características de SpringWS==&lt;br /&gt;
&lt;br /&gt;
Facilita aplicar las mejores practicas para la creación de servicios web&lt;br /&gt;
Facilidad para distribuir los pedidos xml a través de diferentes tipos de mapeos&lt;br /&gt;
Soporte para varias librerias de manejo de XML (DOM, SAX, StAX, JDOM, dom4j, XDOM)&lt;br /&gt;
Soporte para mapeo de xml a objetos (Castor, JiBX, JAXB, XStream)&lt;br /&gt;
Integración con Spring Framework&lt;br /&gt;
&lt;br /&gt;
Dos ideas cuenta con un curso para exponer y consumir webservices con SpringWS. Haga click  para ingresar.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Endpoint - Interceptores]]&lt;br /&gt;
* [http://www.dosideas.com/cursos/course/view.php?id=10 Curso de Spring-WS de DosIdeas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:Web Service]]&lt;br /&gt;
[[Category:Spring-WS]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Spring_Web_Services&amp;diff=4852</id>
		<title>Spring Web Services</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Spring_Web_Services&amp;diff=4852"/>
				<updated>2010-03-11T18:46:20Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;	[http://static.springframework.org/spring-ws/sites/1.5/ Spring Web] Services (Spring-WS) es un producto de Spring Framework para facilitar la creación de servicios web basados en el intercambio de documentos (document driven). &lt;br /&gt;
&lt;br /&gt;
Spring-WS Se basa en servicios en los cuales primero se establece un contrato y luego se implementan (contract first), evitando atar al contrato como sucede en los casos en los cuales se genera el mismo a partir de las clases java.&lt;br /&gt;
&lt;br /&gt;
==Las principales características de Spring-WS==&lt;br /&gt;
&lt;br /&gt;
Facilita aplicar las mejores practicas para la creación de servicios web&lt;br /&gt;
Facilidad para distribuir los pedidos xml a través de diferentes tipos de mapeos&lt;br /&gt;
Soporte para varias librerias de manejo de XML (DOM, SAX, StAX, JDOM, dom4j, XDOM)&lt;br /&gt;
Soporte para mapeo de xml a objetos (Castor, JiBX, JAXB, XStream)&lt;br /&gt;
Integración con Spring Framework&lt;br /&gt;
&lt;br /&gt;
Dos ideas cuenta con un curso para exponer y consumir webservices con SpringWS. Haga click  para ingresar.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Endpoint - Interceptores]]&lt;br /&gt;
* [http://www.dosideas.com/cursos/course/view.php?id=10 Curso de Spring-WS de DosIdeas]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:Web Service]]&lt;br /&gt;
[[Category:Spring-WS]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Spring_Web_Services&amp;diff=4849</id>
		<title>Spring Web Services</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Spring_Web_Services&amp;diff=4849"/>
				<updated>2010-03-11T18:44:44Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: Página creada con '	[http://static.springframework.org/spring-ws/sites/1.5/ Spring Web] Services (Spring-WS) es un producto de Spring Framework para facilitar la creación de servicios web basados…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;	[http://static.springframework.org/spring-ws/sites/1.5/ Spring Web] Services (Spring-WS) es un producto de Spring Framework para facilitar la creación de servicios web basados en el intercambio de documentos (document driven). &lt;br /&gt;
&lt;br /&gt;
Spring-WS Se basa en servicios en los cuales primero se establece un contrato y luego se implementan (contract first), evitando atar al contrato como sucede en los casos en los cuales se genera el mismo a partir de las clases java.&lt;br /&gt;
&lt;br /&gt;
==Las principales características de Spring-WS==&lt;br /&gt;
&lt;br /&gt;
Facilita aplicar las mejores practicas para la creación de servicios web&lt;br /&gt;
Facilidad para distribuir los pedidos xml a través de diferentes tipos de mapeos&lt;br /&gt;
Soporte para varias librerias de manejo de XML (DOM, SAX, StAX, JDOM, dom4j, XDOM)&lt;br /&gt;
Soporte para mapeo de xml a objetos (Castor, JiBX, JAXB, XStream)&lt;br /&gt;
Integración con Spring Framework&lt;br /&gt;
&lt;br /&gt;
Dos ideas cuenta con un curso para exponer y consumir webservices con SpringWS. Haga click  para ingresar.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [http://www.dosideas.com/cursos/course/view.php?id=10 Curso de Spring-WS de DosIdeas]&lt;br /&gt;
* [[Endpoint - Interceptores]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:Web Service]]&lt;br /&gt;
[[Category:Spring-WS]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=4610</id>
		<title>Kaptcha</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=4610"/>
				<updated>2010-02-11T15:41:03Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Integración en una aplicación web Java */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría: Java]]&lt;br /&gt;
[[Kaptcha]] es una librería [[Java]] para implementar un sistema [[Captcha]]. &lt;br /&gt;
&lt;br /&gt;
Usar [[Kaptcha]] en un proyecto web es fácil. Todo lo que se necesita es agregar el '''jar''' al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.&lt;br /&gt;
&lt;br /&gt;
== Integración en una aplicación web Java ==&lt;br /&gt;
&lt;br /&gt;
Aquí los detalles de como integrar Kaptcha a tu aplicación.&lt;br /&gt;
&lt;br /&gt;
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto.&lt;br /&gt;
Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;submit.action&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;kaptcha.jpg&amp;quot; /&amp;gt; &lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;kaptcha&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;/kaptcha.jpg&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agregar en el código que hace la validación:&lt;br /&gt;
&amp;lt;code java=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
String kaptchaExpected = (String)request.getSession()&lt;br /&gt;
    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);&lt;br /&gt;
String kaptchaReceived = request.getParameter(&amp;quot;kaptcha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))&lt;br /&gt;
{&lt;br /&gt;
    setError(&amp;quot;kaptcha&amp;quot;, &amp;quot;Invalid validation code.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eso es todo!&lt;br /&gt;
&lt;br /&gt;
== Como testear una aplicacion que usa Kaptcha==&lt;br /&gt;
&lt;br /&gt;
La configuración del servlet permite varias opciones de inicialización, como ser cantidad de caracteres que se mostrarán o bien las letras que puede usar para generar el código. Una opcion es configurar para que se muestre un solo caracter con una sola opcion, por ejemplo que siempre muestre la letra a. &lt;br /&gt;
&lt;br /&gt;
Ejemplo de como quedaria la configuración:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
	&amp;lt;servlet&amp;gt;&lt;br /&gt;
		&amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
		&amp;lt;servlet-class&amp;gt;&lt;br /&gt;
			com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
		&amp;lt;init-param&amp;gt;&lt;br /&gt;
			&amp;lt;param-name&amp;gt;kaptcha.border&amp;lt;/param-name&amp;gt;&lt;br /&gt;
			&amp;lt;param-value&amp;gt;yes&amp;lt;/param-value&amp;gt;&lt;br /&gt;
		&amp;lt;/init-param&amp;gt;&lt;br /&gt;
		&amp;lt;init-param&amp;gt;&lt;br /&gt;
			&amp;lt;param-name&amp;gt;kaptcha.textproducer.char.string&amp;lt;/param-name&amp;gt;&lt;br /&gt;
			&amp;lt;param-value&amp;gt;aa&amp;lt;/param-value&amp;gt;&lt;br /&gt;
		&amp;lt;/init-param&amp;gt;&lt;br /&gt;
		&amp;lt;init-param&amp;gt;&lt;br /&gt;
			&amp;lt;param-name&amp;gt;kaptcha.textproducer.char.length&amp;lt;/param-name&amp;gt;&lt;br /&gt;
			&amp;lt;param-value&amp;gt;1&amp;lt;/param-value&amp;gt;&lt;br /&gt;
		&amp;lt;/init-param&amp;gt;&lt;br /&gt;
		&amp;lt;load-on-startup&amp;gt;3&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
	&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [[Captcha]]&lt;br /&gt;
* [http://code.google.com/p/kaptcha/ Sitio oficial Kaptcha]&lt;br /&gt;
* [http://code.google.com/p/kaptcha/wiki/HowToUse Cómo usar Kaptcha]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3874</id>
		<title>Kaptcha</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3874"/>
				<updated>2009-12-07T17:24:43Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría: Java]]&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar máquinas y humanos).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejemplo_captcha.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usar '''Kaptcha''' en un proyecto web es fácil. Todo lo que se necesita es agregar el '''jar''' al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.&lt;br /&gt;
&lt;br /&gt;
== Detalles ==&lt;br /&gt;
&lt;br /&gt;
Aquí los detalles de como integrar Kaptcha a tu aplicación.&lt;br /&gt;
&lt;br /&gt;
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto.&lt;br /&gt;
Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;submit.action&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;kaptcha.jpg&amp;quot; /&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;kaptcha&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;/kaptcha.jpg&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agregar en el código que hace la validación:&lt;br /&gt;
&amp;lt;code java=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
String kaptchaExpected = (String)request.getSession()&lt;br /&gt;
    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);&lt;br /&gt;
String kaptchaReceived = request.getParameter(&amp;quot;kaptcha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))&lt;br /&gt;
{&lt;br /&gt;
    setError(&amp;quot;kaptcha&amp;quot;, &amp;quot;Invalid validation code.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eso es todo!&lt;br /&gt;
&lt;br /&gt;
'''Fuente:''' [http://code.google.com/p/kaptcha/wiki/HowToUse http://code.google.com/p/kaptcha/wiki/HowToUse]&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [http://code.google.com/p/kaptcha/ Sitio oficial Kaptcha]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3873</id>
		<title>Kaptcha</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3873"/>
				<updated>2009-12-07T17:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría: Java]]&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar máquinas y humanos).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejemplo_captcha.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usar '''Kaptcha''' en un proyecto web es fácil. Todo lo que se necesita es agregar el '''jar''' al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.&lt;br /&gt;
&lt;br /&gt;
== Detalles ==&lt;br /&gt;
&lt;br /&gt;
Aquí los detalles de como integrar Kaptcha a tu aplicación.&lt;br /&gt;
&lt;br /&gt;
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto.&lt;br /&gt;
Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;submit.action&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;kaptcha.jpg&amp;quot; /&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;kaptcha&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;/kaptcha.jpg&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agregar en el código que hace la validación:&lt;br /&gt;
&amp;lt;code java=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
String kaptchaExpected = (String)request.getSession()&lt;br /&gt;
    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);&lt;br /&gt;
String kaptchaReceived = request.getParameter(&amp;quot;kaptcha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))&lt;br /&gt;
{&lt;br /&gt;
    setError(&amp;quot;kaptcha&amp;quot;, &amp;quot;Invalid validation code.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eso es todo!&lt;br /&gt;
&lt;br /&gt;
'''Fuente:''' [http://code.google.com/p/kaptcha/wiki/HowToUse http://code.google.com/p/kaptcha/wiki/HowToUse]&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [http://code.google.com/p/kaptcha/ Sitio oficial Kcaptcha]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3872</id>
		<title>Kaptcha</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3872"/>
				<updated>2009-12-07T15:13:07Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría: Java]]&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar máquinas y humanos).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ejemplo_captcha.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usar '''Kaptcha''' en un proyecto web es fácil. Todo lo que se necesita es agregar el '''jar''' al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.&lt;br /&gt;
&lt;br /&gt;
== Detalles ==&lt;br /&gt;
&lt;br /&gt;
Aquí los detalles de como integrar Kaptcha a tu aplicación.&lt;br /&gt;
&lt;br /&gt;
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto.&lt;br /&gt;
Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;submit.action&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;kaptcha.jpg&amp;quot; /&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;kaptcha&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;/kaptcha.jpg&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agregar en el código que hace la validación:&lt;br /&gt;
&amp;lt;code java=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
String kaptchaExpected = (String)request.getSession()&lt;br /&gt;
    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);&lt;br /&gt;
String kaptchaReceived = request.getParameter(&amp;quot;kaptcha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))&lt;br /&gt;
{&lt;br /&gt;
    setError(&amp;quot;kaptcha&amp;quot;, &amp;quot;Invalid validation code.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eso es todo!&lt;br /&gt;
&lt;br /&gt;
'''Fuente:''' [http://code.google.com/p/kaptcha/wiki/HowToUse http://code.google.com/p/kaptcha/wiki/HowToUse]&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [http://code.google.com/p/kaptcha/ Sitio oficial]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:Ejemplo_captcha.jpg&amp;diff=3871</id>
		<title>Archivo:Ejemplo captcha.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:Ejemplo_captcha.jpg&amp;diff=3871"/>
				<updated>2009-12-07T15:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: ejemplo de un captcha.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ejemplo de un captcha.&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3870</id>
		<title>Kaptcha</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3870"/>
				<updated>2009-12-07T14:00:43Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría: Java]]&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usar '''Kaptcha''' en un proyecto web es fácil. Todo lo que se necesita es agregar el '''jar''' al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.&lt;br /&gt;
&lt;br /&gt;
== Detalles ==&lt;br /&gt;
&lt;br /&gt;
Aquí los detalles de como integrar Kaptcha a tu aplicación.&lt;br /&gt;
&lt;br /&gt;
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto.&lt;br /&gt;
Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;submit.action&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;kaptcha.jpg&amp;quot; /&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;kaptcha&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;/kaptcha.jpg&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agregar en el código que hace la validación:&lt;br /&gt;
&amp;lt;code java=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
String kaptchaExpected = (String)request.getSession()&lt;br /&gt;
    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);&lt;br /&gt;
String kaptchaReceived = request.getParameter(&amp;quot;kaptcha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))&lt;br /&gt;
{&lt;br /&gt;
    setError(&amp;quot;kaptcha&amp;quot;, &amp;quot;Invalid validation code.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eso es todo!&lt;br /&gt;
&lt;br /&gt;
'''Fuente:''' [http://code.google.com/p/kaptcha/wiki/HowToUse http://code.google.com/p/kaptcha/wiki/HowToUse]&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [http://code.google.com/p/kaptcha/ Sitio oficial]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3869</id>
		<title>Kaptcha</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Kaptcha&amp;diff=3869"/>
				<updated>2009-12-07T13:59:26Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Categoría: Java]]&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usar Kaptcha en un proyecto web es fácil. Todo lo que se necesita es agregar el '''jar''' al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detalles ==&lt;br /&gt;
&lt;br /&gt;
Aquí los detalles de como integrar Kaptcha a tu aplicación.&lt;br /&gt;
&lt;br /&gt;
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto.&lt;br /&gt;
Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;submit.action&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;kaptcha.jpg&amp;quot; /&amp;gt; &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;kaptcha&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;com.google.code.kaptcha.servlet.KaptchaServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Kaptcha&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;url-pattern&amp;gt;/kaptcha.jpg&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agregar en el código que hace la validación:&lt;br /&gt;
&amp;lt;code java=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
String kaptchaExpected = (String)request.getSession()&lt;br /&gt;
    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);&lt;br /&gt;
String kaptchaReceived = request.getParameter(&amp;quot;kaptcha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))&lt;br /&gt;
{&lt;br /&gt;
    setError(&amp;quot;kaptcha&amp;quot;, &amp;quot;Invalid validation code.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eso es todo!&lt;br /&gt;
&lt;br /&gt;
'''Fuente:''' [http://code.google.com/p/kaptcha/wiki/HowToUse http://code.google.com/p/kaptcha/wiki/HowToUse]&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [http://code.google.com/p/kaptcha/ Sitio oficial]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle_en_Weblogic&amp;diff=3422</id>
		<title>CLOB de Oracle en Weblogic</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle_en_Weblogic&amp;diff=3422"/>
				<updated>2009-10-09T14:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: ue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si tenemos una aplicación [[Java]] corriendo en [[WebLogic]] la forma de acceder a un [[CLOB de Oracle]] para escritura se maneja de una forma especial. en nuestro caso utilizamos [[JDBC]] y por consiguiente la clase '''weblogic.jdbc.vendor.oracle.OracleThinClob'''. Aqui dejamos un ejemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java5&amp;gt;import java.io.IOException;&lt;br /&gt;
import java.io.Writer;&lt;br /&gt;
import java.sql.Clob;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
&lt;br /&gt;
import org.springframework.dao.DataAccessResourceFailureException;&lt;br /&gt;
import org.springframework.jdbc.core.RowMapper;&lt;br /&gt;
import org.springframework.jdbc.core.support.JdbcDaoSupport;&lt;br /&gt;
&lt;br /&gt;
import weblogic.jdbc.vendor.oracle.OracleThinClob;&lt;br /&gt;
&lt;br /&gt;
import com.dosideas.dao.UnDao;&lt;br /&gt;
&lt;br /&gt;
public class UnDaoImpl extends JdbcDaoSupport implements UnDao {&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Query que busca el Clob por id.&lt;br /&gt;
     * SELECT ARCHIVO FROM TABLA_CON_ARCHIVO WHERE ID = ? FOR UPDATE;&lt;br /&gt;
     */&lt;br /&gt;
    private String query;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Obtiene el writer del Clob.&lt;br /&gt;
     */&lt;br /&gt;
    public Writer obtenerWriter(Long id) {&lt;br /&gt;
        Clob clobReporte = (Clob) getJdbcTemplate()&lt;br /&gt;
                               .queryForObject(getQuery(), &lt;br /&gt;
                                 new Object[] {idPeticion }, &lt;br /&gt;
                                 new RowMapper() {&lt;br /&gt;
				     public Object mapRow(ResultSet resultSet, int rowNum) &lt;br /&gt;
                                                                     throws SQLException {&lt;br /&gt;
				         return (Clob) resultSet.getClob(1);&lt;br /&gt;
                                  }&lt;br /&gt;
                            });&lt;br /&gt;
        Writer writerDelClob = null;&lt;br /&gt;
 &lt;br /&gt;
        try {&lt;br /&gt;
            writerDelClob = ((OracleThinClob) clobReporte).getCharacterOutputStream();&lt;br /&gt;
        } catch (SQLException e) {&lt;br /&gt;
            // Tratar el error&lt;br /&gt;
        }&lt;br /&gt;
	&lt;br /&gt;
	return writerDelClob;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Oracle]]&lt;br /&gt;
* [[JDBC]]&lt;br /&gt;
* [[CLOB_de_Oracle]]&lt;br /&gt;
* [http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/doc_library/javadoc/oracle.sql.CLOB.html Javadoc CLOB]&lt;br /&gt;
*[http://download.oracle.com/docs/cd/E13222_01/wls/docs91/jdbc/thirdparty.html#1045809 Using Third-Party Drivers with WebLogic Server]&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;br /&gt;
[[Category:WebLogic]]&lt;br /&gt;
[[Category:Java]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3335</id>
		<title>CLOB de Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3335"/>
				<updated>2009-09-23T13:05:09Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La clase [[Java]] del driver [[JDBC]] de [[Oracle]] '''oracle.sql.CLOB''' ofrece el método '''getCharacterOutputStream()''' que nos permite obtener un '''java.io.Writer''' para ir escribiendo directamente en la base. Incluso cuando los datos que se desean guardar son muchos se puede ir iterando y agregarlos de a poco. Hay que tener cuidado porque el '''Writer.append(String string)''' empieza a escribir en la primera posición de memoria cada vez que se obtiene el Writer.&lt;br /&gt;
&lt;br /&gt;
Acá les dejo un pequeño ejemplo&lt;br /&gt;
&amp;lt;code java5&amp;gt; import java.io.Writer;&lt;br /&gt;
 import java.sql.PreparedStatement;&lt;br /&gt;
 import java.sql.ResultSet;&lt;br /&gt;
 import java.sql.SQLException;&lt;br /&gt;
 &lt;br /&gt;
 import oracle.sql.CLOB;&lt;br /&gt;
 &lt;br /&gt;
 public class UnDaoImpl extends JdbcDaoSupport implements unDao {&lt;br /&gt;
 &lt;br /&gt;
 public void inicializarReporte(Long idPeticion, Iterator&amp;lt;String&amp;gt; iteradorDeDatos) {&lt;br /&gt;
   String sqlConsulta = &amp;quot;SELECT ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;FROM TABLA_CON_ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;WHERE  ID_PETICION = &amp;quot; &lt;br /&gt;
                      + idPeticion &lt;br /&gt;
                      + &amp;quot; FOR UPDATE;&amp;quot;;     &lt;br /&gt;
   try {&lt;br /&gt;
       PreparedStatement pstmt = getConnection()&lt;br /&gt;
                                   .prepareStatement(sqlConsulta);&lt;br /&gt;
       ResultSet rs = pstmt.executeQuery();&lt;br /&gt;
       rs.next();&lt;br /&gt;
       CLOB clob = (CLOB) rs.getClob(1);&lt;br /&gt;
       clobWriter = clob.getCharacterOutputStream();&lt;br /&gt;
       &lt;br /&gt;
       if (iteradorDeDatos.hasNext()){&lt;br /&gt;
         clobWriter.write(iteradorDeDatos.next());&lt;br /&gt;
 &lt;br /&gt;
         while (iteradorDeDatos.hasNext()) {&lt;br /&gt;
           clobWriter.append(iteradorDeDatos.next());&lt;br /&gt;
         } &lt;br /&gt;
       }      &lt;br /&gt;
&lt;br /&gt;
   } finally {&lt;br /&gt;
     try {&lt;br /&gt;
         clobWriter.close();&lt;br /&gt;
     } catch (IOException e) {&lt;br /&gt;
         e.printStackTrace();&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Oracle]]&lt;br /&gt;
* [[JDBC]]&lt;br /&gt;
* [http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/doc_library/javadoc/oracle.sql.CLOB.html Javadoc CLOB]&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;br /&gt;
[[Category:Java]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3334</id>
		<title>CLOB de Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3334"/>
				<updated>2009-09-22T19:32:35Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La clase [[Java]] del driver [[JDBC]] de [[Oracle]] '''oracle.sql.CLOB''' ofrece el método '''getCharacterOutputStream()''' que nos permite obtener un '''java.io.Writer''' para ir escribiendo directamente en la base. Incluso cuando los datos que se desean guardar son muchos se puede ir iterando y agregarlos de a poco. Hay que tener cuidado porque el '''Writer.append(String string)''' empieza a escribir en la primera posición de memoria cada vez que se obtiene el Writer.&lt;br /&gt;
&lt;br /&gt;
Acá les dejo un pequeño ejemplo&lt;br /&gt;
&amp;lt;code java5&amp;gt; import java.io.Writer;&lt;br /&gt;
 import java.sql.PreparedStatement;&lt;br /&gt;
 import java.sql.ResultSet;&lt;br /&gt;
 import java.sql.SQLException;&lt;br /&gt;
 &lt;br /&gt;
 import oracle.sql.CLOB;&lt;br /&gt;
 &lt;br /&gt;
 public class UnDaoImpl extends HibernateDaoSupport implements unDao {&lt;br /&gt;
 &lt;br /&gt;
 public void inicializarReporte(Long idPeticion, Iterator&amp;lt;String&amp;gt; iteradorDeDatos) {&lt;br /&gt;
   String sqlConsulta = &amp;quot;SELECT ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;FROM TABLA_CON_ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;WHERE  ID_PETICION = &amp;quot; &lt;br /&gt;
                      + idPeticion &lt;br /&gt;
                      + &amp;quot; FOR UPDATE;&amp;quot;;     &lt;br /&gt;
   try {&lt;br /&gt;
       PreparedStatement pstmt = getSession().connection()&lt;br /&gt;
                                   .prepareStatement(sqlConsulta);&lt;br /&gt;
       ResultSet rs = pstmt.executeQuery();&lt;br /&gt;
       rs.next();&lt;br /&gt;
       CLOB clob = (CLOB) rs.getClob(1);&lt;br /&gt;
       clobWriter = clob.getCharacterOutputStream();&lt;br /&gt;
       &lt;br /&gt;
       if (iteradorDeDatos.hasNext()){&lt;br /&gt;
         clobWriter.write(iteradorDeDatos.next());&lt;br /&gt;
 &lt;br /&gt;
         while (iteradorDeDatos.hasNext()) {&lt;br /&gt;
           clobWriter.append(iteradorDeDatos.next());&lt;br /&gt;
         } &lt;br /&gt;
       }      &lt;br /&gt;
&lt;br /&gt;
   } finally {&lt;br /&gt;
     try {&lt;br /&gt;
         clobWriter.close();&lt;br /&gt;
     } catch (IOException e) {&lt;br /&gt;
         e.printStackTrace();&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Oracle]]&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[JDBC]]&lt;br /&gt;
* [http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/doc_library/javadoc/oracle.sql.CLOB.html Javadoc CLOB]&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;br /&gt;
[[Category:Java]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3333</id>
		<title>CLOB de Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3333"/>
				<updated>2009-09-22T19:32:03Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La clase [[Java]] del driver [[JDBC]] de [[Oracle]] '''oracle.sql.CLOB''' ofrece el método '''getCharacterOutputStream()''' que nos permite obtener un '''java.io.Writer''' para ir escribiendo directamente en la base. Incluso cuando los datos que se desean guardar son muchos se puede ir iterando y agregarlos de a poco. Hay que tener cuidado porque el '''Writer.append(String string)''' empieza a escribir en la primera posición de memoria cada vez que se obtiene el Writer.&lt;br /&gt;
&lt;br /&gt;
Acá les dejo un pequeño ejemplo&lt;br /&gt;
&amp;lt;code java5&amp;gt;import java.io.Writer;&lt;br /&gt;
 import java.sql.PreparedStatement;&lt;br /&gt;
 import java.sql.ResultSet;&lt;br /&gt;
 import java.sql.SQLException;&lt;br /&gt;
 &lt;br /&gt;
 import oracle.sql.CLOB;&lt;br /&gt;
 &lt;br /&gt;
 public class UnDaoImpl extends HibernateDaoSupport implements unDao {&lt;br /&gt;
 &lt;br /&gt;
 public void inicializarReporte(Long idPeticion, Iterator&amp;lt;String&amp;gt; iteradorDeDatos) {&lt;br /&gt;
   String sqlConsulta = &amp;quot;SELECT ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;FROM TABLA_CON_ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;WHERE  ID_PETICION = &amp;quot; &lt;br /&gt;
                      + idPeticion &lt;br /&gt;
                      + &amp;quot; FOR UPDATE;&amp;quot;;     &lt;br /&gt;
   try {&lt;br /&gt;
       PreparedStatement pstmt = getSession().connection()&lt;br /&gt;
                                   .prepareStatement(sqlConsulta);&lt;br /&gt;
       ResultSet rs = pstmt.executeQuery();&lt;br /&gt;
       rs.next();&lt;br /&gt;
       CLOB clob = (CLOB) rs.getClob(1);&lt;br /&gt;
       clobWriter = clob.getCharacterOutputStream();&lt;br /&gt;
       &lt;br /&gt;
       if (iteradorDeDatos.hasNext()){&lt;br /&gt;
         clobWriter.write(iteradorDeDatos.next());&lt;br /&gt;
 &lt;br /&gt;
         while (iteradorDeDatos.hasNext()) {&lt;br /&gt;
           clobWriter.append(iteradorDeDatos.next());&lt;br /&gt;
         } &lt;br /&gt;
       }      &lt;br /&gt;
&lt;br /&gt;
   } finally {&lt;br /&gt;
     try {&lt;br /&gt;
         clobWriter.close();&lt;br /&gt;
     } catch (IOException e) {&lt;br /&gt;
         e.printStackTrace();&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Oracle]]&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[JDBC]]&lt;br /&gt;
* [http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/doc_library/javadoc/oracle.sql.CLOB.html Javadoc CLOB]&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;br /&gt;
[[Category:Java]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3332</id>
		<title>CLOB de Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=CLOB_de_Oracle&amp;diff=3332"/>
				<updated>2009-09-22T19:31:45Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La clase [[Java]] del driver [[JDBC]] de [[Oracle]] '''oracle.sql.CLOB''' ofrece el método '''getCharacterOutputStream()''' que nos permite obtener un '''java.io.Writer''' para ir escribiendo directamente en la base. Incluso cuando los datos que se desean guardar son muchos se puede ir iterando y agregarlos de a poco. Hay que tener cuidado porque el '''Writer.append(String string)''' empieza a escribir en la primera posición de memoria cada vez que se obtiene el Writer.&lt;br /&gt;
&lt;br /&gt;
Acá les dejo un pequeño ejemplo&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
import java.io.Writer;&lt;br /&gt;
 import java.sql.PreparedStatement;&lt;br /&gt;
 import java.sql.ResultSet;&lt;br /&gt;
 import java.sql.SQLException;&lt;br /&gt;
 &lt;br /&gt;
 import oracle.sql.CLOB;&lt;br /&gt;
 &lt;br /&gt;
 public class UnDaoImpl extends HibernateDaoSupport implements unDao {&lt;br /&gt;
 &lt;br /&gt;
 public void inicializarReporte(Long idPeticion, Iterator&amp;lt;String&amp;gt; iteradorDeDatos) {&lt;br /&gt;
   String sqlConsulta = &amp;quot;SELECT ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;FROM TABLA_CON_ARCHIVO &amp;quot;&lt;br /&gt;
                      + &amp;quot;WHERE  ID_PETICION = &amp;quot; &lt;br /&gt;
                      + idPeticion &lt;br /&gt;
                      + &amp;quot; FOR UPDATE;&amp;quot;;     &lt;br /&gt;
   try {&lt;br /&gt;
       PreparedStatement pstmt = getSession().connection()&lt;br /&gt;
                                   .prepareStatement(sqlConsulta);&lt;br /&gt;
       ResultSet rs = pstmt.executeQuery();&lt;br /&gt;
       rs.next();&lt;br /&gt;
       CLOB clob = (CLOB) rs.getClob(1);&lt;br /&gt;
       clobWriter = clob.getCharacterOutputStream();&lt;br /&gt;
       &lt;br /&gt;
       if (iteradorDeDatos.hasNext()){&lt;br /&gt;
         clobWriter.write(iteradorDeDatos.next());&lt;br /&gt;
 &lt;br /&gt;
         while (iteradorDeDatos.hasNext()) {&lt;br /&gt;
           clobWriter.append(iteradorDeDatos.next());&lt;br /&gt;
         } &lt;br /&gt;
       }      &lt;br /&gt;
&lt;br /&gt;
   } finally {&lt;br /&gt;
     try {&lt;br /&gt;
         clobWriter.close();&lt;br /&gt;
     } catch (IOException e) {&lt;br /&gt;
         e.printStackTrace();&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Oracle]]&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[JDBC]]&lt;br /&gt;
* [http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/doc_library/javadoc/oracle.sql.CLOB.html Javadoc CLOB]&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;br /&gt;
[[Category:Java]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle&amp;diff=3317</id>
		<title>Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle&amp;diff=3317"/>
				<updated>2009-09-22T19:12:04Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle es una [[Base De Datos]] relacional comercial.&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [[Escribir en un CLOB de Oracle]]&lt;br /&gt;
* [[Web Services Con Oracle]]&lt;br /&gt;
* [[Concepto De Rownum]]&lt;br /&gt;
* [[Transacciones Autonomas En Oracle]]&lt;br /&gt;
* [[Bulk Collect]]&lt;br /&gt;
* [[Tablas Externas]]&lt;br /&gt;
* [[Primary Key En Tablas Particionadas]]&lt;br /&gt;
* [[Oracle Flashback Technology]]&lt;br /&gt;
* [http://www.oracle.com Web oficial de Oracle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Oracle&amp;diff=3315</id>
		<title>Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Oracle&amp;diff=3315"/>
				<updated>2009-09-22T18:32:19Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Oracle es una [[Base De Datos]] relacional comercial.&lt;br /&gt;
&lt;br /&gt;
==Ver también==&lt;br /&gt;
* [[Escribir un CLOB en Oracle]]&lt;br /&gt;
* [[Web Services Con Oracle]]&lt;br /&gt;
* [[Concepto De Rownum]]&lt;br /&gt;
* [[Transacciones Autonomas En Oracle]]&lt;br /&gt;
* [[Bulk Collect]]&lt;br /&gt;
* [[Tablas Externas]]&lt;br /&gt;
* [[Primary Key En Tablas Particionadas]]&lt;br /&gt;
* [[Oracle Flashback Technology]]&lt;br /&gt;
* [http://www.oracle.com Web oficial de Oracle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Oracle]]&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Debug_Remoto_De_Weblogic&amp;diff=968</id>
		<title>Debug Remoto De Weblogic</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Debug_Remoto_De_Weblogic&amp;diff=968"/>
				<updated>2008-09-03T20:09:12Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Configuración para Weblogic 9.x. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Existe una forma de poder debuguear el [[WebLogic]] desde algún IDE. Esto lo posibilita una característica conocida como [[JPDA]] que las máquinas virtuales de Java (JVM) tienen.&lt;br /&gt;
&lt;br /&gt;
==Configurando el Weblogic==&lt;br /&gt;
*Setear la variable para debug:&lt;br /&gt;
 set DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n&lt;br /&gt;
&lt;br /&gt;
===Configuración para Weblogic 8.x.===&lt;br /&gt;
*Ubicar el dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain.&lt;br /&gt;
*Abrir el archivo startWeblogic.cmd para editar.&lt;br /&gt;
*Sobre el final del archivo, localizar esta línea:&lt;br /&gt;
 %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%...&lt;br /&gt;
*Agregarle la variable %DEBUG_OPTS% de la siguiente forma:&lt;br /&gt;
 %JAVA_HOME%\bin\java '''%DEBUG_OPTS%''' %JAVA_VM% %MEM_ARGS%...&lt;br /&gt;
&lt;br /&gt;
===Configuración para Weblogic 9.x.===&lt;br /&gt;
*Ubicar la carpeta bin del dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain\bin.&lt;br /&gt;
*Abrir el archivo startWebLogic.cmd para editar.&lt;br /&gt;
*Sobre el final del archivo, localizar las dos lineas que comienzan:&lt;br /&gt;
 %JAVA_HOME%\bin\java %JAVA_VM%&lt;br /&gt;
*Agregarle la variable %DEBUG_OPTS% de la siguiente forma:&lt;br /&gt;
 %JAVA_HOME%\bin\java '''%DEBUG_OPTS%''' %JAVA_VM% %MEM_ARGS%...&lt;br /&gt;
&lt;br /&gt;
==Configurando el IDE==&lt;br /&gt;
&lt;br /&gt;
La idea es siempre la misma: conectar el debugger del IDE a la JVM de WebLogic. Esta tarea varia de acuerdo al IDE que se utilice. A continuación las instrucciones para algunos IDE.&lt;br /&gt;
&lt;br /&gt;
En todos los casos, WebLogic tiene que estar levantado para que el IDE pueda conectarse.  Para esto, ejecutar el script que se modifico en el paso anterior. Una vez que WebLogic inicie, sigan las instrucciones.&lt;br /&gt;
&lt;br /&gt;
=== [[Eclipse]] ===&lt;br /&gt;
#Ir al menú Run -&amp;gt; Debug... (varia el nombre de acuerdo a la versión. se debe acceder a la configuración del debug).&lt;br /&gt;
#Seleccionar la opción de la izquierda &amp;quot;Remote Java Application&amp;quot;.&lt;br /&gt;
#Click en el botón &amp;quot;New&amp;quot;.&lt;br /&gt;
#En la solapa &amp;quot;Connect&amp;quot; completen los datos:&lt;br /&gt;
**Connection Type: Standard (Socket Attach)&lt;br /&gt;
**Host: el IP o nombre de su maquina&lt;br /&gt;
**Port: 1044&lt;br /&gt;
#Click en el botón Debug. Eclipse debería conectarse a WebLogic y quedar listo para debug.&lt;br /&gt;
&lt;br /&gt;
=== [[NetBeans]] ===&lt;br /&gt;
#Ir al menú Run -&amp;gt; Attach Debugger&lt;br /&gt;
#Completar los datos del popup que aparece:&lt;br /&gt;
**Connector: !SocketAttach&lt;br /&gt;
**Transport: dt_socket&lt;br /&gt;
**Host: El IP o nombre de su maquina&lt;br /&gt;
**Port: 1044&lt;br /&gt;
#Click en &amp;quot;Ok&amp;quot;. NetBeans se debería conectar a WebLogic y quedar listo para debug.&lt;br /&gt;
&lt;br /&gt;
=== [[JDeveloper]]] ===&lt;br /&gt;
#Sobre el toolbar, ir al ícono de debug -&amp;gt; Manage Run Configurations...&lt;br /&gt;
#Seleccionar la categoría Run/Debug&lt;br /&gt;
#Doble-click en la configuración de debug Default (o la que se este usando)&lt;br /&gt;
#Seleccionar la opción Launch Settings&lt;br /&gt;
#Activar el checkbox &amp;quot;Remote Debugging and Profiling&amp;quot;&lt;br /&gt;
#Seleccionar la opción Debugger -&amp;gt; Remote&lt;br /&gt;
#Completar los datos:&lt;br /&gt;
**Protocol: Attach to JPDA&lt;br /&gt;
**Host: el IP o nombre de la maquina&lt;br /&gt;
**Port: 1044&lt;br /&gt;
#Aceptar las ventanas abiertas. JDeveloper está listo para debug.&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Debug_Remoto_De_Weblogic&amp;diff=967</id>
		<title>Debug Remoto De Weblogic</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Debug_Remoto_De_Weblogic&amp;diff=967"/>
				<updated>2008-09-03T20:08:28Z</updated>
		
		<summary type="html">&lt;p&gt;Germandt: /* Configuración para Weblogic 8.x. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Existe una forma de poder debuguear el [[WebLogic]] desde algún IDE. Esto lo posibilita una característica conocida como [[JPDA]] que las máquinas virtuales de Java (JVM) tienen.&lt;br /&gt;
&lt;br /&gt;
==Configurando el Weblogic==&lt;br /&gt;
*Setear la variable para debug:&lt;br /&gt;
 set DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n&lt;br /&gt;
&lt;br /&gt;
===Configuración para Weblogic 8.x.===&lt;br /&gt;
*Ubicar el dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain.&lt;br /&gt;
*Abrir el archivo startWeblogic.cmd para editar.&lt;br /&gt;
*Sobre el final del archivo, localizar esta línea:&lt;br /&gt;
 %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%...&lt;br /&gt;
*Agregarle la variable %DEBUG_OPTS% de la siguiente forma:&lt;br /&gt;
 %JAVA_HOME%\bin\java '''%DEBUG_OPTS%''' %JAVA_VM% %MEM_ARGS%...&lt;br /&gt;
&lt;br /&gt;
===Configuración para Weblogic 9.x.===&lt;br /&gt;
*Ubicar la carpeta bin del dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain\bin.&lt;br /&gt;
*Abrir el archivo startWebLogic.cmd para editar.&lt;br /&gt;
*Sobre el final del archivo, localizar las dos lineas que comienzan:&lt;br /&gt;
 %JAVA_HOME%\bin\java %JAVA_VM%&lt;br /&gt;
*Agregarle la variable %DEBUG_OPTS% de la siguiente forma:&lt;br /&gt;
 %JAVA_HOME%\bin\java __%DEBUG_OPTS%__ %JAVA_VM% %MEM_ARGS%...&lt;br /&gt;
&lt;br /&gt;
==Configurando el IDE==&lt;br /&gt;
&lt;br /&gt;
La idea es siempre la misma: conectar el debugger del IDE a la JVM de WebLogic. Esta tarea varia de acuerdo al IDE que se utilice. A continuación las instrucciones para algunos IDE.&lt;br /&gt;
&lt;br /&gt;
En todos los casos, WebLogic tiene que estar levantado para que el IDE pueda conectarse.  Para esto, ejecutar el script que se modifico en el paso anterior. Una vez que WebLogic inicie, sigan las instrucciones.&lt;br /&gt;
&lt;br /&gt;
=== [[Eclipse]] ===&lt;br /&gt;
#Ir al menú Run -&amp;gt; Debug... (varia el nombre de acuerdo a la versión. se debe acceder a la configuración del debug).&lt;br /&gt;
#Seleccionar la opción de la izquierda &amp;quot;Remote Java Application&amp;quot;.&lt;br /&gt;
#Click en el botón &amp;quot;New&amp;quot;.&lt;br /&gt;
#En la solapa &amp;quot;Connect&amp;quot; completen los datos:&lt;br /&gt;
**Connection Type: Standard (Socket Attach)&lt;br /&gt;
**Host: el IP o nombre de su maquina&lt;br /&gt;
**Port: 1044&lt;br /&gt;
#Click en el botón Debug. Eclipse debería conectarse a WebLogic y quedar listo para debug.&lt;br /&gt;
&lt;br /&gt;
=== [[NetBeans]] ===&lt;br /&gt;
#Ir al menú Run -&amp;gt; Attach Debugger&lt;br /&gt;
#Completar los datos del popup que aparece:&lt;br /&gt;
**Connector: !SocketAttach&lt;br /&gt;
**Transport: dt_socket&lt;br /&gt;
**Host: El IP o nombre de su maquina&lt;br /&gt;
**Port: 1044&lt;br /&gt;
#Click en &amp;quot;Ok&amp;quot;. NetBeans se debería conectar a WebLogic y quedar listo para debug.&lt;br /&gt;
&lt;br /&gt;
=== [[JDeveloper]]] ===&lt;br /&gt;
#Sobre el toolbar, ir al ícono de debug -&amp;gt; Manage Run Configurations...&lt;br /&gt;
#Seleccionar la categoría Run/Debug&lt;br /&gt;
#Doble-click en la configuración de debug Default (o la que se este usando)&lt;br /&gt;
#Seleccionar la opción Launch Settings&lt;br /&gt;
#Activar el checkbox &amp;quot;Remote Debugging and Profiling&amp;quot;&lt;br /&gt;
#Seleccionar la opción Debugger -&amp;gt; Remote&lt;br /&gt;
#Completar los datos:&lt;br /&gt;
**Protocol: Attach to JPDA&lt;br /&gt;
**Host: el IP o nombre de la maquina&lt;br /&gt;
**Port: 1044&lt;br /&gt;
#Aceptar las ventanas abiertas. JDeveloper está listo para debug.&lt;/div&gt;</summary>
		<author><name>Germandt</name></author>	</entry>

	</feed>