Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo

24
pdfcrowd.com ope n 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 Disc us i ón Encuestas Usuarios Tips Actualizado -- Ejemplo de WebService con Base de Datos -- Resuelto a la mitad Submitt ed 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 servic e que estaba desarroll ando pero no recibi r espues ta. Bueno ahora les pido si alguno de ustedes 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 utili zaron 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 c orr ecto para poner lo que les mostrare pero espero les pue da se rvir y a la vez me ayuden con un probl ema que tengo , voy a tratar de ser e xpl ic ito para que lo pue dan se guir . 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

Transcript of Www Javamexico Org Foros Java Enterprise Actualizado Ejemplo

Page 1: 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

Page 2: 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 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

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

Page 6: 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 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.*;

Page 7: 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 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) {

Page 8: 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 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;

  }

Page 9: 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 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

Page 10: 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 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"/>

Page 11: 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 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

Page 12: 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 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

Page 13: 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 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

Page 14: 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 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

Page 15: 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 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 *;

Page 16: 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 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

//

Page 17: 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 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)

{

Page 18: 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 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/

Page 19: 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 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.

Page 20: 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 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

Page 21: 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 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)

Page 22: 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 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

Page 23: 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 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.

Page 24: 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 24/24

pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API