Webservice com java?

5 respostas
J

Olá, alguém sabe me informar se existe alguma classe java para trabalhar com objetos webservice? Obrigado!

5 Respostas

Marky.Vasconcelos

Voce pode fazer com Axis, mas da um trabalho, é bem mais produtivo usar EJB 3.

T

Nunca mexi com Axis mas falam que não é uma experiência muito boa. Acomselho usar ou EJB mesmo ou CXF da Apache que é bastante parecido com EJB.

J
Marky.Vasconcelos:
Voce pode fazer com Axis, mas da um trabalho, é bem mais produtivo usar EJB 3.

Mas tipo, queria saber se existe algum objeto que tem um atibuto wsdl, ai seto esse atributo e provavelmente esse objeto deva ter um metodo do tipo loadWSDL(). Que nem no código abaixo mas que esta em actionscript:

service = new WebService();
            service.wsdl = "http://210.00.000.000:4000/services/FrontEnd?wsdl";
            
           
            service.addEventListener("result", trataGetDadosClient);
            service..addEventListener("fault", faultHandler);
            service.addEventListener("load", obtemGetDadosClient);
          
            service.port = "FrontEndHttpSoap11Endpoint";
          
            service.loadWSDL();
Alexandre_Saudate

O mais recomendado é, de fato, usar EJB3, que já cria o WSDL e associa o XML às suas entidades. Mas dá pra fazer o que você quer “na unha”, usando JAX-WS mesmo. Um exemplo seria mais ou menos assim:

@WebServiceProvider(targetNamespace="", wsdlLocation="", portName="", serviceName="")
@ServiceMode(Mode.PAYLOAD)
public class Servico implements Provider<SOAPMessage> {

//Ecoa a requisição
public SOAPMessage invoke (SOAPMessage request) {
return request;
}


}

E, pra publicar a criança:

public class Server {

public static void main (String[] args) {
Endpoint e = Endpoint.create(new Servico());
e.publish("http://localhost:9000/servico");
synchronized (Server.class) {
try {
Server.wait();
} catch (InterruptedException e) {
//Sai do wait e encerra.
}
}

}
}

(mais ou menos isso)

Note que não é uma abordagem muito boa, já que exige que você desenvolva o WSDL na unha, trate o XML na unha, enfim… não é uma boa. Caso, mesmo assim, você goste da idéia, no meu blog existe um post mostrando como fazer isso com mais detalhes.

[]´s

Alexandre_Saudate

Ah, esquecí de falar… com EJB3, fica mais ou menos assim:

@WebService
@Stateless
public class Servico {

@WebMethod
public String helloWorld(String nome) {
return "Olá, " + nome;
}

}

[]´s

Criado 3 de setembro de 2010
Ultima resposta 3 de set. de 2010
Respostas 5
Participantes 4