Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
Transcript of Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 1/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Skip to Main Content
Principal :: Foros :: Java Enterprise
Search this site: Buscar
...
Inicio Lineamientos Blogs Foros de Discus ión Encuestas Usuarios Tips
Actualizado -- Ejemplo de WebService con Base de
Datos -- Resuelto a la mitadSubmitted by hugo.garcia on Jue, 06/24/2010 - 08:55
Hola a todos anteriorme les pedi ayuda para que me ayudaran a resolver un problemilla que tuve con
un web service que estaba desarrollando pero no recibi respues ta.
Bueno ahora les pido si alguno de us tedes tiene un algun webservice hecho que utilice en conjunto
una base de datos ps me hago el favor de decirme ¿como lo hicieron? y detalles de las herramientas
que utilizaron sin mas quedo pendiente de sus comentarios
Actualizado el 05 julio 2010
Web Service - Base de Datos
Hola a todos, primero que nada espero que es tén bien, no supe si es te es el lugar correcto
para poner lo que les mostrare pero espero les pueda servir y a la vez me ayuden con un
problema que tengo , voy a tratar de ser explicito para que lo puedan seguir.
Quiero que sepan no soy el autor original del ejemplo que les voy a poner, pero creo que lo voy a
Java Enterprise
Inicio de sesión
Nombre de usuario: *
Contraseña: *
Iniciar sesión
Navegación
Crear cuenta nueva
Solicitar nueva contraseña
Blogs
Contenido
Foros de Discusión
Encuestas
Tips
Usuarios
Envíos recientes
Categorias
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 2/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
complementar
La fuente de la información la pueden consultar AQUI
Propósito:
Entorno:
Instalacion:
Java: (yo creo que desde 1.5 esta bien)
Tomcat: baje la version 6 que ya viene con un instalador de Windows
Axis2: yo baje los binarios uno que es un .war y otro donde viene todo (/lib /conf etc.)
Crear un w eb service y consumirlo
Window s XP, Java SE 6, MySql 5.1, Axis2 1.5, Tomcat 6, IDE --usen el que quieran cas i para
todos es s imilar--
Yo baje la versión 1.6 con el instalador de Windows y todo lo que hice fue darle siguiente…
siguiente e tc
Reside en C:\Archivos de programa\Java
Reside en C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0
Los baje de AQUI
Baje el zip de l que dice (1) Standard binary distribution y el zip que dice (2)WAR Web Archive
Distribution
Descomprimí ambos (1) lo puse en C:\Archivos de programa\ Y debería quedarles C:\Archivos de
programa\axis2-1.5.1-bin\axis2-1.5.1
Y (2) lo puse en C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0\webapps
Temas nuevos
more
En línea
En este momento hay 0
usuarios y 54 invitados en
línea.
Comentarios recientes
Configuración de Glassfish
Error
org.hibernate.LazyInitializa
tionException: could not
initialize proxy - no Sess ion
.
Obtener datos de un
TextField
re: Comoenviar un entero
hace 8 horas 42 mins
relaciones
hace 11 horas 20 mins
El problema es que el
hace 14 horas 5 mins
nginx
hace 14 horas 13 mins
no le veo problema
hace 14 horas 21 mins
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 3/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
MySql: yo instale MySql Server Community Edition baje la versión 1.5 con instalador de Windows
También bajen el jar de mysqlconnector para java
Levanten el servicio de Apache Tomcat
http://localhost:8080
Y despues en http://localhost:8080/axis2
Como un consejo si piensan utilizar la ap licación como cliente servidor, o no se ,que no sea so lo
local,
en e l proceso de configuración palomeen la cas illa de permitir al root conectarse remotamente
(en el caso de que conecten como root)
Si todo va bien deberian ser capaces de ver lo siguiente en
Encuesta
¿Qué lenguaje alternativo
para la JVM te llama más laatención?:
Groovy
Scala
Clojure
JRuby
Jython
Otro... (menciona cuál)
Votar
encontre e ste ejemplo que
menciono en es ta pagina
hace 15 horas 38 mins
me marca un error
hace 18 horas 23 mins
Apache es el servidor http
hace 1 día 13 horas
class Una { Otra o;hace 1 día 15 horas
Apache es el servidor http
hace 2 días 16 horas
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 4/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Asegúrense de poder ver el servidor corriendo y también Axis2
Proceso:
CREATE TABLE PERSON (ID INTEGER NOT NULL,
NAME VARCHAR (100) NOT NULL,
ADDRESS VARCHAR (500),
AGE INTEGER,
PRIMARY KEY (ID));
Poblenla ejmplo:
INSERT INTO PERSON (ID, NAME, ADDRESS, AGE)
VALUES (1, "hugo garcia", "en algun lugar", 27)
INSERT INTO PERSON (ID, NAME, ADDRESS, AGE)
VALUES (2, "java mexico ", "en la web", 30)
INSERT INTO PERSON (ID, NAME, ADDRESS, AGE)
VALUES (3, "alguien mas", "en todas partes", 37)
Una vez creada la base y poblada con algunos datos
Creen una base de datos que se llame dbsample con una tabla que se llame Person
Hoy:
Siempre:
Problema para comparar
valores null, vacio o "" de
un h:inputtext
Desplegando una aplicación
de Spring Boot en Amazon
EC2 y asignándole un
subdominio
como enviar un entero de
una clase a otra con el
método get se t
llamar a un metodo que
esta en una clase hacia
otra clase
Lineamientos de publicación
Estructura de datos java
(Listas s implemente
enlazadas) Primer aporte
Como programar en java
Deitel & Deitel 7ma Edicion
Cargar una imagen en un
JPanel en netbeans
como generar un a rchivo txt
en java
Problema para comparar
valores null, vacio o "" de
un h:inputtext
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 5/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Vayamos a nuestro editor de Java(les repito usen el que quieran casi en todos va a se r parecido yo
use JCreator
pero es casi lo mismo en NetBeans o Eclipse o como los machos con notepad jajaj)
Configuren su editor y añadan las librerías en este caso jars para que compile correctamente deben
añadirç
las que vienen en C:\Archivos de programa\axis2-1.5.1-bin\axis2-1.5.1\lib(no todas se usan
pero para no tener que adivinar)
Y también añadan
mysql-connector-java-5.1.13-bin
Luego lo que haremos sera crear una clase que se llamara Person y tendra lo siguiente:
package dbsample;
public class Person {
private String name;
private int id;
private String address;
private int age;
public String getName() {
return name; }
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
} public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
Últimas impresiones:
Agradecemos el apoyode:
Programa automatico en
Java
Ayuda jLabel
Error A fatal error has been
detected by the Java
Runtime Environment:
Activar camara
Problemas a l desplegar en
Tomcat
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 6/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
public void setAge(int age) {
this.age = age;
}
}
Otra clase que se llamara NameAge
package dbsample;
public class NameAge {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}
Creamos una clase que se llamara PersonDBService ojo donde va("jdbc:my
sql://IP/dbsample","root", "root");
Por IP sustituyan su IP (ej. 100.100.100.100) o localh
ost
package dbsample;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.sql.*;
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 7/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
public class PersonDBService {
public Person[] listAllPeople() {
Connection conn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection
("jdbc:mysql://IP/dbsample","root", "root");
}
catch(SQLException ex){ex.printStackTrace();}
catch(ClassNotFoundException exx){exx.printStackTrace();}
if(conn !=null) {
String SQL = "SELECT * FROM PERSON";
try {
PreparedStatement statement = conn.prepareStatement(SQL);
ResultSet result = statement.executeQuery();
ArrayList list = new ArrayList();
while (result.next()) {
Person person = new Person();
person.setId(result.getInt("ID"));
person.setName(result.getString("NAME"));
person.setAddress(result.getString("ADDRESS")); person.setAge(result.getInt("AGE"));
list.add(person);
}
return (Person[])list.toArray(new Person[list.size()]);
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
public String[] listPeopleNames() {
Connection conn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection
("jdbc:mysql://IP/dbsample","root", "root");
}
catch(SQLException ex){ex.printStackTrace();}
catch(ClassNotFoundException exx){exx.printStackTrace();}
if(conn !=null) {
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 8/24
pdfcrowd comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
String SQL = "SELECT NAME FROM PERSON";
try {
PreparedStatement statement = conn.prepareStatement(SQL);
ResultSet result = statement.executeQuery();
ArrayList list = new ArrayList();
while (result.next()) {
list.add(result.getString("NAME"));
}
return (String[])list.toArray(new String[list.size()]);
} catch (SQLException e) {
e.printStackTrace(); }
}
return null;
}
public NameAge getNameAge(int id) {
Connection conn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection
("jdbc:mysql://IP/dbsample","root", "root");
}
catch(SQLException ex){ex.printStackTrace();}
catch(ClassNotFoundException exx){exx.printStackTrace();}
if(conn !=null) {
String SQL = "SELECT NAME , AGE FROM PERSON WHERE ID=?";
try {
PreparedStatement statement = conn.prepareStatement(SQL);
statement.setInt(1, id);
ResultSet result = statement.executeQuery();
if (result.next()) {
NameAge nameAge = new NameAge();
nameAge.setName(result.getString("NAME")); nameAge.setAge(result.getInt("AGE"));
return nameAge;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return null;
}
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 9/24
df d mi b PRO i Are you a developer? Try out the HTML to PDF API
public void insertPerson(int id, String name, String address,int age) {
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection
("jdbc:mysql://IP/dbsample","root", "root");
}
catch(SQLException ex){ex.printStackTrace();}
catch(ClassNotFoundException exx){exx.printStackTrace();}
if(conn !=null) { String SQL = "INSERT INTO PERSON (ID , NAME , ADDRESS , AGE) VALUES
(?,?,?,?)";
try {
PreparedStatement statement = conn.prepareStatement(SQL);
statement.setInt(1,id);
statement.setString(2,name);
statement.setString(3,address);
statement.setInt(4,age);
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Y por ultimo la clase DBSampleServiceLifeCycle
package dbsample;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.ServiceLifeCycle;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBSampleServiceLifeCycle implements ServiceLifeCycle {
public static final String DB_CONNECTION = "dbconnection";
public void startUp(ConfigurationContext configctx, AxisService service) {
try {
Class.forName("com.mysql.jdbc.Driver");
// Creating the DB connection for the sample DB
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 10/24
df di b PRO i Are you a developer? Try out the HTML to PDF API
Connection conn =
DriverManager.getConnection("jdbc:mysql://160.1.15.123:3306/dbsample",
"root",
"");
//Storing the DB in the ConfigurationContext
configctx.setProperty(DB_CONNECTION, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
public void shutDown(ConfigurationContext configctx, AxisService service) { Connection conn = (Connection) configctx.getProperty(DB_CONNECTION);
if (conn != null) {
try {
// closing the DB
conn.close();
} catch (SQLException e) {
System.out.println("Error while closing the DB connection");
}
}
}
}
Hay que compilar el código de las clases (si utiliza algún IDE haz Build del proyecto) de acuerdo
a como yo lo he hecho
no les marcara warnings mas ni errores (Si utilizan algún IDE le marcara warnings en los
arreglos ArrayList, esto porque
les sugiere que deben ir tipeados ej. ArrayList<TIPO> list = new ArrayList<TIPO>(); )
Luego independientemente de donde hayan creado su proyecto (con IDE) o los archivos,
carpetas (de manera general)
agreguen una carpeta llamada META-INF (no se mucho de es to pero creo que deben respetarlas mayúsculas en el nombre de esa carpeta)
dentro de esa carpeta creen un archivo XML llamado services y dentro pongan.
<service name="DBService" class="dbsample.DBSampleServiceLifeCycle">
<description>Exposing a DB as a Web Service</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 11/24
df di b PRO i A d l ? T t th HTML t PDF API
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">dbsample.PersonDBService</parameter>
</service>
No conozco mucho de esto pero les voy a describir lo que creo que es cada cosa
service name = “DBService : es el nombre que aparecerá como el nombre de su servicio
pueden poner cualquier nombre
class=” dbsample.DBSampleServiceLifeCycle : dbsample es el nombre de su paque te (.)seguidodel nombre de la clase
DBSampleServiceLifeCycle (que honestamente no entiendo)
La parte que sigue va siempre que quieran interactuar con un servicio ya sea para consumirlo o
proporcionarlo
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
Y por ultimo donde se encuentran los métodos que harán las operaciones en la base de datos
<parameter name="ServiceClass">dbsample.PersonDBService</parameter>
Ahora lo que hay que hacer es poner los .class de sus archivos y la carpeta META-INF dentro
de un comprimido
pueden ponerlo dentro de un zip y renombrarlo a cualquiernombre.aar aquí lo importante es
que la extensión sea .aar
yo lo hice de la siguiente manera:
jar cfm servicioBD.aar dbsample/*.class META-INF
Y eso les creara un comprimido
Una vez que tengamos nuestro archivo comprimido lo siguiente es copiarlo dentro de la carpeta
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 12/24df di b PRO i A d l ? T t th HTML t PDF API
/services de la ruta
C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0\webapps\axis2\WEB-
INF\services
A continuacion iremos a nuetro explorador e escribiremos la url
http://localhost:8080/axis2/services/listServices
Si todo va bien podran ver una imagen como la siguiente
De lo contrario veran una imagen como la siguiente
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 13/24df di b PRO i
Are you a developer? Try out the HTML to PDF API
Eso indica que hay algun error y tendran que buscar, pero sera tarea de us tedes.
Como sugerencia les puedo decir que se fijen en el nombre del paquete y clases, que el archivo
XML este como en el ejemplo
Me consta que has ta ahorita todo debe funcionar
Si todo fue bien hagan click en DBService y le mostrara un XML de su servicio en
http://localhost:8080/axis2/services/DBService?wsdl
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 14/24df di b PRO iAre you a developer? Try out the HTML to PDF API
Con eso habrá bastado para que tengan un servio Web con una interacción con una base de
datos
Vamos a ver un poco de su funcionamiento
Si van a la direccion http://localhost:8080/axis2/services/DBService/listAllPeople
les mostra en un formato de XML las personas que tienen en su base de datos
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 15/24df di b PRO iAre you a developer? Try out the HTML to PDF API
Aqui comienza mi parte y mi error
Para agega r una persona sera con la url
http://localhost:8080/axis2/services/DBService/insertPerson?
id=130&name=Peter&address=No5,Colombo,SriLanka&age=56
(no se ¿por qué?, pero si ponen espacios hará nada)
Si quieren ver si realmente hizo la inserción solo hagan un select a su tabla
Luego mi idea es consumir el servicio web en un contexto de cliente servidor por lo que me
tome la libertad de crear una ventana grafica
como la que aparece a continuación
y su repectivo codigo :
package pckCliente;
import dbsample.*;
import java.rmi.RemoteException;
/****************************************************************/
/* Clientes */
/****************************************************************/
import java awt *;
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 16/24
Are you a developer? Try out the HTML to PDF API
import java.awt. ;
import java.awt.event.*;
import javax.swing.*;
public class Clientes extends JFrame
{
PersonDBService obj;
private JLabel jLabel1,nombre,edad,direccion;
private JTextField jTextField1;
private JTextField jTextField2;
private JTextField jTextField3;
private JTextField jTextField4;
private JButton jButton1;
private JPanel contentPane;
public Clientes()
{
super();
initializeComponent();
this.setVisible(true);
}
private void initializeComponent()
{ obj= new PersonDBService();
jLabel1 = new JLabel("ID");
nombre = new JLabel("nombre");
direccion = new JLabel("direccion");
edad = new JLabel("edad");
jTextField1 = new JTextField();
jTextField2 = new JTextField();
jTextField3 = new JTextField();
jTextField4 = new JTextField();
jButton1 = new JButton("OK");
contentPane = (JPanel)this.getContentPane(); // jButton1
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jButton1_actionPerformed(e);
}
});
//
// contentPane
//
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 17/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
//
contentPane.setLayout(null);
addComponent(contentPane, jLabel1, 7,27,60,22);
addComponent(contentPane, jTextField1, 85,27,100,22);
addComponent(contentPane, nombre, 7,55,60,22);
addComponent(contentPane, jTextField2, 84,55,100,22);
addComponent(contentPane, edad, 7,87,60,22);
addComponent(contentPane, jTextField3, 83,87,100,22);
addComponent(contentPane, direccion, 7,115,60,22);
addComponent(contentPane, jTextField4, 83,115,100,23); addComponent(contentPane, jButton1, 71,147,83,28);
//
// Clientes
//
this.setTitle("Clientes ");
this.setLocation(new Point(0, 0));
this.setSize(new Dimension(273, 282));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
/** Add Component Without a Layout Manager (Absolute Positioning) */
private void addComponent(Container container,Component c,int x,int y,intwidth,int height){
c.setBounds(x,y,width,height);
container.add(c);
}
private void jButton1_actionPerformed(ActionEvent e){
obj.insertPerson(Integer.parseInt(jTextField1.getText()),jTextField2.getText(),jTex
tField4.getText(),Integer.parseInt(jTextField3.getText()));
}
//======================================================================//
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception ex)
{
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 18/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
donde como ven la magia(...) sucede en dos lineas:
.
.
.
obj= new PersonDBService();
.
.
.
obj.insertPerson(Integer.parseInt(jTextField1.getText()),jTextField
2.getText(),
j
TextField4.getText(),Integer.parseInt(jTextField3.getText()));
.
.
.
{
System.out.println("Failed loading L&F: ");
System.out.println(ex);
}
new Clientes();
}
}
Luego a partir de aquí viene lo interesante si este ejemplo lo fueron desarrollando con un IDE
cuando corran Clientes () todo ira bien
El problema que a mi se me presento es que quise hacer un jar (ejecutable) de la aplicación y lo
logre de la s iguiente forma
Cree un manifiesto (un archivo del tipo texto - ->.txt)
Dentro escribí:
Main-Class: pckCliente.Clientes
Class-Path: mysql-connector-java-5.1.13-bin.jar dbsample/
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 19/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
‹ Desencriptar archivos Excel con formato
2007
Sobre persistencia ›
Opciones de visualización de comentarios
Lista plana: expandida Fecha: primero los más antiguos 50 comentarios por página
Guardar las opciones
Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones»
y q j j p /
Y en la linea de comandos
jar cvfm BD.jar manifest.txt pckCliente.Clientes dbsample/*.class
y listo tengo mi ejecutable BD.jar
Aquí viene mi duda
En consola e jecuto:
java -jar BD.jar
Y aparece mi ventana
Pero cuando lleno los campos y hago clic en “OK” me manda la siguiente traza de errores:
Que no encuentra el driver
Y ¿no se por qué?
Tambien lo he agregado de la siguiente forma:
jar cvfm BD.jar manifest.txt pckCliente.Clientes dbsample/*.class mysql-connector-java-
5.1.13-bin.jar
Sin más por el momento agradezco si alguien me ayudaEspero les haya gustado sobre todo que lo hayan entendido
Espero habe r sido claro
Y no es justificación pero es ta es mi primera aportación en cualquier foro
--NO NIEGUES LO QUE HAZ DE PEDIR DESPUES—
--Las máquinas no tienen palabra--
Inicie sesión o regístrese para enviar comentarios
para activar los cambios.
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 20/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
p
Blog
Submitted by benek on Jue, 06/24/2010 - 16:36.
Checa en e l blog de willyxoft, tiene una serie de posts de WS bastante
interesante.
Saludos.
Javier Ramírez Jr.
http://twitter.com/_benek
Componente
Submitted by ezamudio on Vie, 06/25/2010 - 13:30.
Primero desarrolla un componente que haga lo que necesitas que haga. Por
ejemplo, un componente que tiene un método que recibe ciertos
parámetros y devuelve un resultado (que puede ser un objeto, un mapa, un
entero, etc). Puede ser cualquier objeto en Java. Si necesita conectarse abase de datos, le pones su DataSource, etc. Te aseguras que no maneje
estado (que no tenga variables de instancia que guarden algun estado interno del objeto), para
que pueda funcionar bien en un ambiente multi-hilos.
Ya que tienes todo eso y pasa tus pruebas unitarias bien, entonces simplemente debes publicar
ese componente como un web service. Como ya dijo Benek, willyxsoft publicó varios artículos de
web services en Java 6. Basta con que definas una interfaz (misma que implementa tu
componente, con el método o métodos que quieres publicar como web service), pones un par de
anotaciones en tu componente y tendrás lo necesario para generar el proxy para web service.
Class-Path en JAR
Submitted by ezamudio on Lun, 07/05/2010 - 09:48.
Cuando usas Class-Path en el manifiesto de un jar, los jars que indiques se
buscan re lativos al mismo directorio del jar donde se especifican. Es decir si
tienes tu jar en /tmp entonces el driver de mysql también debe estar en
Inicie sesión o regístrese para enviar comentarios
Inicie sesión o regístrese para enviar comentarios
/tmp; no sirve de nada incluir el driver de mysql dentro de l jar de tu
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 21/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
aplicación.
Gracias, pero no se resolvio el problema
Submitted by hugo.garcia on Lun, 07/05/2010 - 10:41.
Hola muchas gracias por tu respuesta, pero te comento que ya lo hecho asi tengo el jar de mysql
en mi carpeta como tu lo indicas y tambien sale el mismo error he hecho varias " combinaciones" porasi decirlo y nada intente poner el jar en la carpeta lib de tomcat y de axis y tampoco
De cualquier forma muchas gracias
classpath...
Submitted by ezamudio on Lun, 07/05/2010 - 10:45.
Según entiendo, el driver de mysql solamente debe estar en el server de
hecho, porque es quien se conecta a la base de datos. La idea es que en elcliente no necesitas el driver porque no se conecta a base de datos,
solamente invoca el web service. Pero en el cliente necesitas las librerías de
Axis2 en el classpath...
Por cierto no se ve e l stacktrace que pusiste como imagen, así que no podemos saber qué dice.
ok
Submitted by hugo.garcia on Lun, 07/05/2010 - 10:52.
si entiendo tu logica y lo voy hacer de esa forma, aunque tambien ya lo hice, tambien te comento
que las libreias de axis las inclui y como no se cuales son las necesarias y suficientes agregue
todas y se me hizo un jar enorme como de 20Mb aprox la traza e s la siguiente:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
Inicie sesión o regístrese para enviar comentarios
Inicie sesión o regístrese para enviar comentarios
Inicie sesión o regístrese para enviar comentarios
at java.lang.ClassLoader.loadClass(Unknown Source)
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 22/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at dbsample.PersonDBService.insertPerson(PersonDBService.java:108)
at pckCliente.Clientes.jButton1_actionPerformed(Clientes.java:172)
at pckCliente.Clientes.access$400(Clientes.java:13)
at pckCliente.Clientes$5.actionPerformed(Clientes.java:98)at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Inicie sesión o regístrese para enviar comentarios
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 23/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Java and all Java-based mark are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
en cliente?
Submitted by ezamudio on Lun, 07/05/2010 - 12:01.
Pero esa excepción te sale en el cliente? Si te sale en el cliente, es síntoma
de que algo es tás haciendo mal, cargando a lgo que no deberías... el cliente
de web service no necesita acceso a la base de datos (si lo tuvieras, para
qué quieres el web service?)
Como te decía, no sirve de nada que metas más jars al jar de tu aplicación.
Deben estar disponibles en el classpath, si es que pones las referencias a ellos en el atributo
Class-Path del MANIFEST.MF
En cuanto a las librerías mínimas necesarias, yo he arrancado clientes de web services con estas
dependencias de axis (1.5):
axiom-api-1.2.8.jar
axis2-adb-1.5.jar
axis2-transport-local-1.5.jargeronimo-stax-api_1.0_spec-1.0.1.jar
wsdl4j-1.6.2.jar
axiom-dom-1.2.8.jar
axis2-kernel-1.5.jar
commons-codec-1.3.jar
httpcore-4.0.jar
wstx-asl-3.2.4.jar
axiom-impl-1.2.8.jar
axis2-transport-http-1.5.jar
commons-httpclient-3.1.jar
neethi-2.0.4.jar
XmlSchema-1.4.3.jar
Inicie sesión o regístrese para enviar comentarios
Inicie sesión o regístrese para enviar comentarios
Agradecemos a Sintel TI por el patrocinio del s ervidor dedicado que hospe da a esta comunidad.
7/25/2019 Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo
http://slidepdf.com/reader/full/www-javamexico-org-foros-java-enterprise-actualizado-ejemplo 24/24
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API