Iniciando webServices

amigos,

gostaria de saber se a minha invocação de um webservice pode ser feita de dentro de um servlet comum,por ex:

String url = "http://localhost:8080/axis/Teste.jws";
	Object[]params = new Object[2];
	params[0] = calculo;
	params[1] = item;
	Service service = new Service();
	Call call = (Call) service.createCall();
	Object[]parametros = params;
	call.setTargetEndpointAddress(url);
	call.setOperationName("calcular");
	Integer valor = (Integer)call.invoke(parametros);

Esse trecho estaria no servlet

Grato a todos
Rafael

Pode ser feito de qq lugar.

dica: use o axis para gerar o cliente de acesso ao Web Service.

Daniel,gerei as classes do cliente,mas agora surgiu outro problema:
Qdo tento acessar o web service a seguinte exceção é lançada:

No serializer found for class bean.BeanItem in registry org.apache.axis.encoding.TypeMappingDelegate@1faf3f4
	at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:317)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269)
	at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:530)
	at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:554)
	at org.apache.axis.Message.getContentType(Message.java:486)
	at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:343)
	at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at ServletCliente.service(ServletCliente.java:44)
	at

Saberia dizer porque isso acontece?Ja acessei diversos fóruns,e é uma pergunta recorrente,mas infelizmente a resposta nao é…

Grato
Rafael Roque
Sun Certified Programmer for Java 2 PlatForm 1.4
Sun Certified Web Component Developer for Java 2 PlatForm 1.4

Daniel,

estive lendo seu texto sobre WebServices e gostaria de coomentar alguns trechos:

O WSDL eh criado automaticamente pelo Axis,ou nao?

Se eu apenas renomear minha classe Java para .jws ainda assim precisarei criar as classes de servidor e o wsdd?

Grato

[quote=raf4ever]Daniel,gerei as classes do cliente,mas agora surgiu outro problema:
Qdo tento acessar o web service a seguinte exceção é lançada:[/quote]

Estranho. Se você seguiu todos os passos, deveria funcionar.

Sim, com a ferramenta Java2WSDL do Axis.

JWS não precisa de nada mais, porém tem suas limitações (não pode pertencer a um pacote e você deve ter o fonte).

pessoal,

estou começando em web services, e tenho uma pergunta:

Eu apenas renomeio a minha classe de .java para .jws e tudo bem, mas e quando tenho várias classes e elas estão divididas em pacotes, o que devo fazer?

agradeço quem puder me tirar esta dúvida…