Java - Ejemplo xmlrcp

 
Vista:
sin imagen de perfil

Ejemplo xmlrcp

Publicado por Victor (18 intervenciones) el 19/07/2017 09:37:30
Buenos dias.
Estoy haciendo una practica de como usar xmlrcp,y el codigo no da errores pero no muestra nada por consola lo que quiere decir que no hace nada directamente.
Este es el codigo del servidor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package javaserver2;
import java.util.Hashtable;
import helma.xmlrpc.WebServer;
 
/**
 *
 * @author Victor
 */
public class JavaServer2 {
 
    public Hashtable sumAndDifference(int x, int y) {
        Hashtable result = new Hashtable();
        result.put("sum", new Integer(x + y));
        result.put("diferent", new Integer(x - y));
        System.out.println("Dentro pagina Server");
        return result;
    }
 
    /**
     * @param args the command line arguments
     */
 
    public static void main(String[] args) {
        // TODO code application logic here
        try {
            WebServer s = new WebServer(9090);
            s.addHandler("sample", new JavaServer2());
        } catch (Exception e) {
            System.err.println("JavaServer:" + e.toString());
        }
    }
}

Y este es el del cliente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package javaserver2;
import helma.xmlrpc.*;
import java.util.Vector;
import java.util.Hashtable;
/**
 *
 * @author Victor
 */
public class JavaClient2 {
 
    /**
     * @param args the command line arguments
     */
 
    public static void main(String[] args) {
        // TODO code application logic here
        try {
            XmlRpcClient server = new XmlRpcClient("localhost/JavaServer2", 80);
            Vector params = new Vector();
            params.addElement(new Integer(5));
            params.addElement(new Integer(8));
            Hashtable result = (Hashtable) server.execute("sample.sumAndDifference", params);
            int sum = ((Integer) result.get("sum")).intValue();
            int difference = ((Integer) result.get("difference")).intValue();
            System.out.println( "Sum: " + Integer.toString(sum) +
                                ", Difference: " + Integer.toString(difference));
        }catch (Exception e) {
        }
    }
}

Como vereis no es mas que una suma y una resta pero parece ser que no estoy llamando al otro fichero(el del servidor).

Alguna idea?

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejemplo xmlrcp

Publicado por Tom (1831 intervenciones) el 19/07/2017 12:28:05
Deberías mirar la doc de la librería que estás usando.
Sin saber qué es eso del helma.xmlrpc, y a ojo parece que estás levantando el server en el puerto 9090 pero el cliente intenta conectar al puerto 80 ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejemplo xmlrcp

Publicado por Victor (18 intervenciones) el 20/07/2017 08:52:00
Buenos dias.
Gracias por contestar.

Lo de los puertos ya los puse los 2 en el 8080 pero sigue sin funcionar.
Lo de helma.xmlrpc es la unica libreria que he encontrado que si tiene el metodo addHandler para el objeto de tipo WebServer.
Debugueando me me dice que no encuentra la clase SaxParse dentro de la libreria org.apache....

Te ha ocurrido algo así?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar