Consumir WebService feito em .NET (RESOLVIDO)

8 respostas
chicodrummer

Boa Tarde Pessoal

Preciso consumir um WS que esta feito em .NET (Servico.asmx), pesquisando no google encontrei uma biblioteca chamada XFIRE que gera as classes através do WSDL para JAVA

Depois de gerada essas classes tento consumir um método porem me retorna erro…

public class Inicio 
{
	public static void main(String[] args)
	{
		try
		{
			LogradouroClient cli = new LogradouroClient();
			
			LogradouroSoap ws = cli.getLogradouroSoap();
			
			ArrayOfClsBairro arrBairro = ws.pesquisaBairro();
								
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
}

o erro é o seguinte:

Exception in thread main java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)

at java.lang.Class.getConstructor0(Class.java:2671)

at java.lang.Class.getConstructor(Class.java:1629)

at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:108)

at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)

at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)

at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)

at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)

at org.codehaus.xfire.client.Client.invoke(Client.java:335)

at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)

at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)

at $Proxy12.pesquisaBairro(Unknown Source)

at Inicio.main(Inicio.java:18)

creio que possa ser algo com o proxy, porq aqui na minha empresa usamos proxy para navegar…

aguém ja usou essa biblioteca (XFIRE) para consumir WS??

aguardo

Leandro Prado

8 Respostas

TangZero

o projeto XFire possui algumas dependências.
Uma delas é o projeto Common HttpClient.
Mas não é só essa dependência, creio eu.
Pesquise no site do XFire, para saber quais são os .jars necessários para utilizar a biblioteca.

ricardosoares

está faltando “commons-httpclient.jar” no classpath

chicodrummer

ricardosoares:
está faltando “commons-httpclient.jar” no classpath

Fala Ricarso… blz?

coloquei a referencia no meu projeto para o JAR commons-httpclient.jar porém agora esta me dando outro erro…

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
	at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:217)
	at org.apache.commons.httpclient.methods.ExpectContinueMethod.<init>(ExpectContinueMethod.java:92)
	at org.apache.commons.httpclient.methods.EntityEnclosingMethod.<init>(EntityEnclosingMethod.java:118)
	at org.apache.commons.httpclient.methods.PostMethod.<init>(PostMethod.java:105)
	at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.open(CommonsHttpMessageSender.java:135)
	at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:121)
	at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
	at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
	at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
	at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
	at org.codehaus.xfire.client.Client.invoke(Client.java:335)
	at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
	at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
	at $Proxy12.pesquisaBairro(Unknown Source)
	at Inicio.main(Inicio.java:16)

será que ainda esta faltando algum jar para referenciar??

será que pode ser o proxy da rede que esta barrando??

obrigado pela ajuda!!

chicodrummer

Maracuja:
Quando estiver faltando alguma classe, procure aqui a dependência que esta faltando.

http://www.jarfinder.com/

Nesse seu caso é commons-codec

[]'s

Fala Maracuja…

muito obrigado pela dica desse site… será bem util mesmo…

agora deu certo… esta consumindo o ws perfeito!!!

obrigado pela ajuda de todos!!!

chicodrummer

dei uma olhada nesse link que vc me passou, porém o que eu percebi que com o XFIRE é bem mais facil de consumir os WS… estou certo ou errado??

alguém poderia me dizer se o XFIRE é bom, ruim, meia boca…

até +++

JMan

Baixe o Axis 2 Tools (pode ser via software updates) para o seu eclipse se vc ainda não tiver ele e crie um cliente de WS utilizando apenas o WSDL do serviço que vc deseja acessar… só na base do next, next, next :lol:

JMan

Quando estiver faltando alguma classe, procure aqui a dependência que esta faltando.

http://www.jarfinder.com/

Nesse seu caso é commons-codec

[]'s

JMan

Só para que conste, aqui tem um Artigo interessante sobre 5 formas de cirar um WS Client.

Criado 19 de agosto de 2008
Ultima resposta 20 de ago. de 2008
Respostas 8
Participantes 4