<?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>BetaHache &#187; Java</title>
	<atom:link href="http://www.betahache.com/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.betahache.com</link>
	<description>Otro blog</description>
	<lastBuildDate>Tue, 28 Jun 2011 21:08:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Comprimir ficheros en AS400/iSeries</title>
		<link>http://www.betahache.com/2008/07/31/comprimir-ficheros-en-as400iseries/</link>
		<comments>http://www.betahache.com/2008/07/31/comprimir-ficheros-en-as400iseries/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 05:35:52 +0000</pubDate>
		<dc:creator>Antonio</dc:creator>
				<category><![CDATA[iSeries]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.betahache.com/2008/07/31/comprimir-ficheros-en-as400iseries/</guid>
		<description><![CDATA[Una forma fácil de comprimir un fichero es utilizando la utilizadad de java &#8220;jar&#8221; que genera un fichero compatible zip. Por ejemplo, para comprimir el directorio &#8220;/tmp/directorio&#8221; habría que ejecutar: jar cvMf /tmp/fichero.zip /tmp/directorio La opción &#8220;c&#8221; indica que se creará un fichero comprimido, la opción &#8220;v&#8221; muestra por pantalla lo que va añadiendo al [...]]]></description>
			<content:encoded><![CDATA[<p>Una forma fácil de comprimir un fichero es utilizando la utilizadad de java &#8220;jar&#8221; que genera un fichero compatible zip.</p>
<p><span id="more-62"></span>Por ejemplo, para comprimir el directorio &#8220;/tmp/directorio&#8221; habría que ejecutar:</p>
<p><strong>jar cvMf /tmp/fichero.zip /tmp/directorio</strong></p>
<p>La opción &#8220;c&#8221; indica que se creará un fichero comprimido, la opción &#8220;v&#8221; muestra por pantalla lo que va añadiendo al fichero, &#8220;M&#8221; evita que se genere un archivo manifest para las entradas y la opción &#8220;f&#8221; indica el nombre del fichero que almacenará los datos.</p>
<p>Para descomprimir un fichero zip, bastaría con ejecutar:</p>
<p><strong>jar xvf fichero.zip</strong></p>
<p>En fin, una forma fácil de trabajar en zip sin necesidad de utilizar herramientas externas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.betahache.com/2008/07/31/comprimir-ficheros-en-as400iseries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tn5250j y SSL</title>
		<link>http://www.betahache.com/2008/07/10/tn5250j-y-ssl/</link>
		<comments>http://www.betahache.com/2008/07/10/tn5250j-y-ssl/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 00:30:32 +0000</pubDate>
		<dc:creator>Antonio</dc:creator>
				<category><![CDATA[iSeries]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.betahache.com/2008/07/10/tn5250j-y-ssl/</guid>
		<description><![CDATA[Estaba haciendo pruebas de conexión de la aplicación java tn5250j contra un iSeries con versión V5R4 y no funcionaba. Obtenía los mensajes: [Thread-3] INFO org.tn5250j.framework.transport.SocketConnector &#8211; Creating SSL [SSLv3] Socket [Thread-3] WARN org.tn5250j.framework.tn5250.tnvt &#8211; connect() java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [Thread-3] INFO org.tn5250j.framework.tn5250.tnvt &#8211; Closing socket Después de buscar y [...]]]></description>
			<content:encoded><![CDATA[<p>Estaba haciendo pruebas de conexión de la aplicación java <a href="http://tn5250j.sourceforge.net/screenshots.html" title="tn5250j">tn5250j</a> contra un iSeries con versión V5R4 y no funcionaba. Obtenía los mensajes:</p>
<blockquote><p><font size="2"> [Thread-3] INFO org.tn5250j.framework.transport.SocketConnector &#8211; Creating SSL [SSLv3] Socket</font></p>
<p><font size="2">[Thread-3] WARN org.tn5250j.framework.tn5250.tnvt &#8211; connect() java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty</font></p>
<p><font size="2">[Thread-3] INFO org.tn5250j.framework.tn5250.tnvt &#8211; Closing socket</font></p></blockquote>
<p><span id="more-61"></span></p>
<p>Después de buscar y buscar, encontré la solución:</p>
<p>En Windows, había que modificar el fichero de java &#8220;java.security&#8221; y cambiar la línea:</p>
<p>ssl.TrustManagerFactory.algorithm=<strong>PKIX</strong></p>
<p>por</p>
<p>ssl.TrustManagerFactory.algorithm=<strong>SunX509</strong></p>
<p>Una vez iniciada la conexión con la máquina, ya da igual que valor tenga ese parámetro.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.betahache.com/2008/07/10/tn5250j-y-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilizar Java para copiar ficheros desde un iSeries a un Windows</title>
		<link>http://www.betahache.com/2007/06/20/utilizar-java-para-copiar-ficheros-desde-un-iseries-a-un-windows/</link>
		<comments>http://www.betahache.com/2007/06/20/utilizar-java-para-copiar-ficheros-desde-un-iseries-a-un-windows/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 18:52:55 +0000</pubDate>
		<dc:creator>Antonio</dc:creator>
				<category><![CDATA[iSeries]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://betahache.com/?p=36</guid>
		<description><![CDATA[Hace poco estuve buscando una forma fácil de pasar ficheros desde un AS400 o iSeries a un recurso de red de un servidor Windows. La solución pasaba por utilizar Java, y estuve buscando alguna librería que tuviera los métodos necesarios para establecer una sesión contra el servidor Windows y poder copiar el fichero. La librería [...]]]></description>
			<content:encoded><![CDATA[<p>Hace poco estuve buscando una forma fácil de pasar ficheros desde un AS400 o iSeries a un recurso de red de un servidor Windows.</p>
<p>La solución pasaba por utilizar Java, y estuve buscando alguna librería que tuviera los métodos necesarios para establecer una sesión contra el servidor Windows y poder copiar el fichero.</p>
<p>La librería Java se llama <a href="http://jcifs.samba.org">jCifs</a> y es mantenida por el grupo que desarrolla <a href="http://www.samba.org">Samba</a> para Linux.</p>
<p>El programita, lo único que hace es leer un fichero local del IFS del iSeries y lo copia a un recurso de la red.</p>
<p>Es código es:<br />
<span id="more-24"></span></p>
<pre>

------------------------------------copyFile.java------------------------------------
import jcifs.Config;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;
import java.io.File;
import java.io.FileInputStream;;

public class copyFile {

	public static void main( String argv[] ) throws Exception {

		if (argv.length != 2)
		{
			System.out.println("Debe indicar el fichero origen (local) y el fichero destino (recurso red).");
			System.out.println("Ejemplo: java copyFile /tmp/prueba.txt smb://servidor/recurso/directorio/fichero.txt.");
			System.exit(-1);
		}

		Config.setProperty( "jcifs.smb.client.domain" , "mi.domi.nio" );
		Config.setProperty( "jcifs.smb.client.username", "usuario1 ");
		Config.setProperty( "jcifs.smb.client.password", "contraseña1 ");
		Config.setProperty( "jcifs.netbios.wins", "xx.xx.xx.xx ");
		Config.setProperty( "jcifs.netbios.laddr", "localhost ");
		Config.setProperty( "jcifs.smb.client.signingPreferred", "true" );
		System.out.println("Copiando fichero ''" + argv[0] + "'' a ''" +argv[1] + "''");

		try {
			File test = new File(argv[0]);
			FileInputStream in = new FileInputStream( test );
			if( test.exists() ) {
				System.out.println( argv[0] + " exists" );
			} else {
				System.out.println( argv[0] + " does not exist" );
				System.exit(-1);
			}

			SmbFileOutputStream out = new SmbFileOutputStream(argv[1]);
			byte[] buf = new byte[1024 * 16];
			int len, total=0;
			while ((len = in.read(buf)) > 0) {
					out.write(buf, 0, len);
					total+=len;
			}
			in.close();
			out.close();
			System.out.println(total + " bytes copiados.");
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
}
------------------------------------copyFile.java------------------------------------
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.betahache.com/2007/06/20/utilizar-java-para-copiar-ficheros-desde-un-iseries-a-un-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

