Estou estudando WebServices, e estes estudos envolvem a construção do serviço bem como, para testes, a criação do cliente.
Gostaria de entender como vocês fazer a requisição para o servidor, ou melhor, como vocês acessam o serviço, após assinarem o XML.
Por exemplo, utilizando o AXIS para construir o cliente, o mesmo gera uma interface, stub, etc. Após isso para eu fazer uma requisição basta chamar o método da interface, como por exemplo:
HelloService service = new HelloServiceLocator();
Hello port = service.getHelloPort();
System.out.println("Resposta do serviço: " + port.calcValue(200));
No caso citado acima, o método “calcValue()” terá a implementação que se conectará ao serviço:
org.apache.axis.client.Call _call = createCall();
bla, bla, bla
return _call.invoke(new java.lang.Object[] { new java.lang.Integer(value) });
Até aqui, eu nem vi o XML :lol:
Ontem eu encontrei uma solução, porém não sei se é a mais correta.
A solução foi a seguinte, eu adicionei a" _call" um Handler, e este por sua vêz me entrega por parâmetro em um de seus métodos implementados uma instância de MessageContext que contém o XML que está sendo enviado para o servidor.
Penso que o XML que eu devo assinar seja este, ou seja, obtenho o XML, assino, e depois seto no lugar daquele que estava sendo enviado.
Estou certo ou errado?
Agradaço a tenção de todos.