[Resolvido] cliente webservice com erro

ola pessoal do GUJ…

seguinte, eu preciso criar um cliente de webservice para enviar um arquivo por ele.
meu sistema não é web, é desktop mesmo.
eu fiz esses códigos.

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;

    public File envioWs(File ob){
        try{
            String urlWS = "meu webservice/TransmiteMensagem";
            Object[] params = {ob};
            
            Service service = new Service();
            Call call = (Call) service.createCall();
            
            call.setTargetEndpointAddress(urlWS);
            call.setOperationName("TransmiteMensagem");
            
            //Integer ret = (Integer) call.invoke(params);
            
            File ret = (File) call.invoke(params);
            
            return ret;
        }
        catch(Exception ex){
            ex.printStackTrace();
            return null;
        } 
    } 

mas esta apresentando o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
	at org.apache.axis.components.logger.LogFactory.class$(LogFactory.java:45)
	at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
	at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
	at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43)
	at org.apache.axis.client.Service.getAxisClient(Service.java:104)
	at org.apache.axis.client.Service.<init>(Service.java:113)
	at app.Envio.envioWs(Envio.java:88)
	at app.Envio.enviaMensagem(Envio.java:30)
	at app.Envio.geraMensagem(Envio.java:21)
	at app.App.main(App.java:19)
Java Result: 1

e eu estou perdidaço…

alguém pode me dar uma luz???
obrigado

Cara,

Pelo erro apresentado na primeira linha, o projeto não encontrou a classe org.apache.commons.logging.LogFactory.
Se não me engano essa classe faz parte da biblioteca log4j da Apache.

Tente incluir a biblioteca no projeto e ver oq rola…

opa…

valew BrunoFurtado… a ideia foi boa…

mas não eh essa não, encontrei o “commons-logging-1.1.1.jar” no site do apache… dai pediu outro jar… o “commons-discovery-0.5.jar”…

mas agora, na hora de fazer o invoke ta dando esse erro… alguem pode me ajudar???

Nov 01, 2012 9:46:34 AM org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.io.IOException: No serializer found for class java.io.File in registry org.apache.axis.encoding.TypeMappingDelegate@4a396d8b
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}stackTrace:java.io.IOException: No serializer found for class java.io.File in registry org.apache.axis.encoding.TypeMappingDelegate@4a396d8b
	at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1507)
	at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
	at org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1055)
	at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
	at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
	at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269)
	at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:530)
	at org.apache.axis.SOAPPart.getContentLength(SOAPPart.java:229)
	at org.apache.axis.Message.getContentLength(Message.java:510)
	at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:371)
	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 app_porto.Envio.envioWs(Envio.java:96)
	at app_porto.Envio.enviaMensagem(Envio.java:30)
	at app_porto.Envio.geraMensagem(Envio.java:21)
	at app_porto.App_Porto.main(App_Porto.java:19)

	{http://xml.apache.org/axis/}hostname:Admin-PC

java.io.IOException: No serializer found for class java.io.File in registry org.apache.axis.encoding.TypeMappingDelegate@4a396d8b
	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.SOAPPart.getContentLength(SOAPPart.java:229)
	at org.apache.axis.Message.getContentLength(Message.java:510)
	at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:371)
	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 app_porto.Envio.envioWs(Envio.java:96)
	at app_porto.Envio.enviaMensagem(Envio.java:30)
	at app_porto.Envio.geraMensagem(Envio.java:21)
	at app_porto.App_Porto.main(App_Porto.java:19)
Caused by: java.io.IOException: No serializer found for class java.io.File in registry org.apache.axis.encoding.TypeMappingDelegate@4a396d8b
	at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1507)
	at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980)
	at org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1055)
	at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145)
	at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478)
	at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
	... 19 more

valew

Opa…

encontrei o problema…

foi so acrescentar mais um jar, o mail.jar…

e se vcs olharem no inicio do post, meu metodo coloca um File como parametro…

eu descobri que um File não é o arquivo, mas so um atalho para ele, se eu quero trasmitir um arquivo de verdade preciso criar um array de bytes…

foi so fazer isso que funcionou…

ahhh, e acrescentar os jars que citei acima…

ateh