Axis2: Como criar o Client Side?

E ai galera!

Bem, estou com muitas dúvidas em como criar o cliente para acessar um Web Service feito com Axis2 e Eclipse. O WS já tá funcionando perfeito, utilizei o Hibernate para realizar as queries e tá beleza.

Utilizei os famosos plugins do Eclipse (CodeGen e Service) para o deploy no Tomcat e criar o Stub da minha aplicação. Mais minha dúvida é: COMO PROSSEGUIR? Pelo que já li basta instanciar a classe Stub gerada e chamar os métodos, ou algo assim.

Já li muita coisa sobre isso mais a maioria mostra como criar o WS com o Axis2 mas não encontrei muita coisa sobre como fazer o client side.

Alguem teria algum exemplo de como proceder? Passando parâmetros, pegando valores… Só preciso da ideia pra seguir em frente :wink:

OBS: Com o Axis1 foi bastante fácil se comunicar com o WS, penso que com o Axis2 o código seria algo parecido com esse que fiz:

    [code]String local = "http://localhost:8080/axis/CriptoMD5.jws";  
        try {  
        Call call = (Call) new Service().createCall();  
        call.setTargetEndpointAddress(local);  
        call.setOperationName("Criptografar");  
          
        Object[] param = new Object[]{JOptionPane.showInputDialog("Senha")};  
          
        String retorno = (String)call.invoke(param);  
         JOptionPane.showMessageDialog(null, "Senha criptografada: " + retorno);  
    } catch (Exception e) { System.out.println(e.getMessage()); }[/code]  

Desde já agradeço!

Problema resolvido! Estudando algumas Samples que vem com o Axis2 eu consegui terminar o client. O código foi o seguinte:

SET:

try {
    EndpointReference targetEPR = new EndpointReference("http://localhost:8080/wsCep/services/WSCep");
    RPCServiceClient serviceClient = new RPCServiceClient();
    Options options = serviceClient.getOptions();
    options.setTo(targetEPR);
        	
    QName setCep = new QName("http://ws.apache.org/axis2", "Salvar");
        	
    cep = new Cep();
        	
    cep.setCep(44574090);
    cep.setUf("ba");
    cep.setLocalidade("Santo Antonio de Jesus");
    cep.setBairro("Urbis II");
    cep.setLogradouro1("Rua");
    cep.setLogradouro2("B");
        	
    Object[] objSetCep = new Object[]{ cep };
        	
    serviceClient.invokeRobust(setCep, objSetCep);
        	
} catch (Exception e) { System.out.println(e.getMessage()); }

GET:

try {
    QName getCep= new QName("http://ws.apache.org/axis2", "Selecionar");
    Object[] objGetCep= new Object[] { };
    Object[] consulta; consulta = serviceClient.invokeBlocking(getCep, objGetCep, new Class[] { Cep[].class });
    Cep[] resultado = (Cep[]) consulta[0];
} catch (Exception e) { System.out.println(e.getMessage()); }

Se alguem quiser completar sugerindo alguma outra forma sinta-se a vontade :smiley: