Tutorial do Apache Axis 1.3

16 respostas
D

Este tutorial demonstra passo-a-passo como criar, publicar e acessar Web Services em Java, com o auxílio da ferramente Apache Axis 1.3.

Artigo escrito por: Daniel Destro

Confira aqui: http://www.guj.com.br/java.tutorial.artigo.180.1.guj

16 Respostas

W

Olá Daniel,

Pelo visto voltaremos a ter uma série de tutoriais novos né… :smiley:
Parabéns !!!

D

Vou publicar mais um agora!

M

Legal cara! Tava pesquisando sobre Axis mesmo e o seu artigo vai cair como uma luva! preciso desenvolver algumas coisas com ele!

So uma dica… tive dificuldade pra imprimir esse artigo! Talvez seria legal se tivesse uma versão em pdf tambem!

Valew e parabens!

D

Qual foi a dificuldade para imprimir?

M

Foi por causa da largura comeu uma merreca da margem! mas acabei gravando aqui e alterando e ai imprimi belezinha…

Valew!

M

Daniel, desculpe-me pela minha certa falta de conhecimento no assunto, mas estou muito interessado em aprender a montar web services e estou começando pelo seu tutorial. Porém está dando um erro ao gerar o "rh.wsdl " que nem tenho noção do que seja:

C:\Tomcat\webapps\ExemploWebServicesAxis\bin>java org.apache.axis.wsdl.Java2WSDL
 -o ../config/resource/rh.wsdl -l"http://localhost:8080/rh/services/RecursosHuma
nosWS" -n "urn:RecursosHumanos" rh.RecursosHumanos
01/09/2006 09:47:54 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax
.mail.internet.MimeMultipart). Attachment support is disabled.
java.lang.ClassNotFoundException: rh.RecursosHumanos
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:187)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
        at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
        at org.apache.axis.wsdl.fromJava.Emitter.setCls(Emitter.java:2079)
        at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:584)
        at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:682)

Onde estou errando ??

Obrigado.

D

Ele deu: “java.lang.ClassNotFoundException: rh.RecursosHumanos”.

Você precisa ter o .class no CLASSPATH.

M

danieldestro:
Ele deu: “java.lang.ClassNotFoundException: rh.RecursosHumanos”.

Você precisa ter o .class no CLASSPATH.

Cara, este CLASSPATH que se fala é o que configurei nas variávei de ambiente do windows ?? to meio confuso !!!

L

Olá

Quando o Java foi lançado em 1996 se colocava esta variável CLASSPATH entre as variáveis de ambiente do sistema operacional.

Porém, há mais de 5 anos que não há necessidade de fazer isto. O CLASSPATH mostra o caminho das classes para um sistema. Com mais de um sistema não é adequado usar uma única variável CLASSPATH.

Atualmente quando alguém fala em classpath provavelmente está se referindo à variável -cp usada na execução de programas java ou no que se põe nos arquivos .jar

Vale a pena você retirar esta coisa obsoleta das suas variáveis de ambiente e começar a fazer como se recomenda há muitos anos. O bom e velho google lhe ajudará bastante.

[]s
Luca

Q

Gostaria de agradecer a galera do forum pes visitas frequentes ao site de video-aulas [color=red]SPAM NÃO É PERMITIDO AQUI [/color]
valeu!!!

S

gostaria de saber se o Axis webservices dá suporte a chamada de métodos sobrecarregados.

S

por exemplo ;

pretendo fazer um programa em java que recebe no maximom 10 numeros inteiros positivos e calcule e imprima o triplo de cada um deles.

B

Daniel gostaria de lhe pedir uma ajuda.

Segui o seu tutorial mas no ultimo comando de publicação de web service ocorreu algum problema.

Pergunta:

Este comando só deve ser executado quando o servidor de aplicação estiver startado?

F

marceloplis:
Daniel, desculpe-me pela minha certa falta de conhecimento no assunto, mas estou muito interessado em aprender a montar web services e estou começando pelo seu tutorial. Porém está dando um erro ao gerar o "rh.wsdl " que nem tenho noção do que seja:

C:\Tomcat\webapps\ExemploWebServicesAxis\bin>java org.apache.axis.wsdl.Java2WSDL
 -o ../config/resource/rh.wsdl -l"http://localhost:8080/rh/services/RecursosHuma
nosWS" -n "urn:RecursosHumanos" rh.RecursosHumanos
01/09/2006 09:47:54 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax
.mail.internet.MimeMultipart). Attachment support is disabled.
java.lang.ClassNotFoundException: rh.RecursosHumanos
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:187)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
        at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)
        at org.apache.axis.wsdl.fromJava.Emitter.setCls(Emitter.java:2079)
        at org.apache.axis.wsdl.Java2WSDL.run(Java2WSDL.java:584)
        at org.apache.axis.wsdl.Java2WSDL.main(Java2WSDL.java:682)

Onde estou errando ??

Obrigado.

Tive o mesmo problema. Implorei ajuda aqui e só um integrante que nem moderador era, acabou me ajudando. Como eu odeio essa conduta miserável da maioria dos moderadores e integrantes do fórum, vou repassar a informação que eu tive ao invés de dizer que o bom e velho google lhe ajudará bastante.

1 - Baixe o Eclipse Ganymede 3.4.1 deste link aqui http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR1/eclipse-jee-ganymede-SR1-win32.zip

2 - Crie uma classe sem método main no eclipse, que faça qualquer coisa, exemplo:

public class Calculadora {
    public double soma(double primeiroAlgarismo, double segundoAlgarismo) {
        return primeiroAlgarismo + segundoAlgarismo;
    }
    public double subtrai(double primeiroAlgarismo, double segundoAlgarismo) {
        return primeiroAlgarismo - segundoAlgarismo;
    }
}

3 - Gere o webservice a partir desta classe clicando com o lado direito nela, e pegue o WSDL no projeto que será criado contendo o webservice. Geralmente este projeto é do tipo dynamic web app. Se você não quiser criar uma classe, use essa do RecursosHumanos mesmo. Você pode inclusive gerar os skeletons à partir desse WSDL clicando com o lado direito no WSDL.

Qualquer coisa, pega meu msn no meu perfil. Meu e-mail é google talk também.

Grato,

-fr3ak

F

No passo 2 eu quis dizer crie uma classe comum sem método main ao invés de “crie um webservice”, to editando meu post, mas não tá indo!!!

L

Pessoal,

Fiz este tutorial, td ok…
Mas agora estou tentando fazer um ws para consulta a bd…
Estou pensando em implementar usando uma classe ponteiro para meu projeto, mas nao sei onde devo colocar o pacote do meu projeto(coloquei na pasta WEB-INF/classes) e o jar do postgres (coloquei na pasta lib).

Vcs poderiam me dizer onde colocá-los…
valeu!

Criado 28 de julho de 2006
Ultima resposta 7 de jan. de 2009
Respostas 16
Participantes 11