Skip to content

Client and Server, Java XML-RPC

Good night,

A few days ago I created a XML-RPC server to test some functions. What is XML-RPC? XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.(wikipedia) To start using XML-RPC in Java I used apache xml-rpc.

Example client and server XML-RPC.

Best Regards,
Matheus

Published inAprendendojava

8 Comments

  1. Matheus, valeu pelo post cara, eu procurei por todo canto um exemplo que funcionasse e nenhum funcionava, mas o seu funcionou.

    Agora, eu gostaria de saber se você sabe como fazer pra enviar arquivos usando xml-rpc.

    Abraço

  2. Jorge,

    Criei um post para auxiliar você, caso tenha algum problema entre em contato.

    Abraço,
    Matheus

  3. Fernando Fernando

    Cara seu modelo foi fundamental pra mim .. so que fiquei com uma duvuida estou do lado cliente e sei que o lado servidor recebe o seguinte XML

    cti.PEGA_VARIOS_EVENTOS

    DISPOSITIVO
    7144,7377,7147

    SENHA_DISPOSITIVO
    4567

    NUMERO_EVENTO
    100

    e me retorna uma resposta um Vector de varios eventos . Agora minha duvida como passar esse parametros via Apache XML-RPC?

    veja como eu estou tentando passar os parametro..

    ClienteXmlRpc cliente = new ClienteXmlRpc();
    Object[] params = new Object[] {"DISPOSITIVO", new String("2001,2002,2003"),"SENHA_DISPOSITIVO",new String("4567"), "NUMERO_EVENTO",new String("0") };
    Vector resp = (Vector) cliente.executar("cti.PEGA_VARIOS_EVENTOS",params);

    Tem como eu passar o XML ou os parametros como funciona isso me da uma luz please????

  4. Fernando Fernando

    "Chamando Método:
    (cti.PEGA_VARIOS_EVENTOS)
    DISPOSITIVO 7144,7377,7147 SENHA_DISPOSITIVO 4567 NUMERO_EVENTO 100

    POST /RPC2 HTTP/1.0

    cti.PEGA_VARIOS_EVENTOS

    DISPOSITIVO
    7144,7377,7147

    SENHA_DISPOSITIVO
    4567

    NUMERO_EVENTO
    100

    </methodCall"

  5. Fernando diz:
    Valeu Matheus .. deu certo brow..

    URL faltava o rpc2 e para a passagem de parametros usei um linkehashmap dentro do object

    LinkedHashMap chaveValor = new LinkedHashMap();
    chaveValor.put("DISPOSITIVO", disp);
    chaveValor.put("SENHA_DISPOSITIVO", pass);
    chaveValor.put("NUMERO_EVENTO",evt);

    Object[] params = new Object[] { chaveValor };

    sua ajuda foi de extrema importância..
    precisando estamos ai também.
    abraço

    (Publicando o e-mail que ele me enviou, com a solucao do problema ja que auxiliei ele por e-mail. Deixo aqui a solucao pra se alguem tiver o mesmo problema.)

  6. Gil Gil

    Muito obrigado!!!

  7. Anthony Anthony

    Cara parabéns pelo post...
    Aqui ta dando o seguinte problema
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ws/commons/serialize/DOMSerializer

    Poderia me ajudar?
    Tanto o servidor como o cliente

    Ja fiz algumas pesquisas e adicionei todos os .jar necessários, e mesmo assim, continua.

    Obrigado...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.