Web Service java + php(Nusoap)

1 resposta
S

Olá pessoal, :grin:

Estou com uma dúvida de como conectar o meu cliente em java com um web service em php chamado (Nusoap). Primeiramente a compilação do cliente está com erro na chamada do call:

Ex. O cliente em java, está muito parecido com esse e está dando um erro na chamada do call.

Exception in thread "main" java.lang.NoClassDefFoundError:
javax/mail/MessagingException
at SOAPClient.buildCall(SOAPClient.java:29)
at SOAPClient.main(SOAPClient.java:73)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

# import org.apache.axis.client.Service;  
# import org.apache.axis.client.Call;  
#   
# public class Client {  
#       
#     public static void main (String [] args) throws Exception {  
#           
#            String local = "http://127.0.0.1:8080/projeto/engineService?wsdl";  
#              
#            Call call = (Call) new Service().createCall();  
#               
#            call.setTargetEndpointAddress(local);  
#                  
#            call.setOperationName("verificarAutenticidade");  
#              
#                    
#            Object[] param = new Object[]{new String("ola")};  
#            
#            String valor = (String)call.invoke(param);  
#              
#             
#            System.out.println("Valor : " + valor);  
#           
#     }  
#   
# }

E com esse código eu consigo acessar um web service em qualquer linguagem usando o conceito de wsdl? :roll:

Já no nusoap a resposta é uma array contendo os dados que é transformado em xml, a passagem de parametros do cliente

Object[] param = new Object[]{new String("ola")};

funciona desta mesmo forma?

Em outros lugares eu vi que eles chamam assim, utilizando o vector!!!

Vector params = new Vector();
params.addElement(new Parameter(p1", Integer.class, p1, null));
params.addElement(new Parameter(”p2", Integer.class, p2, null));
call.setParams (params);

// faz a chamada
Response resp = call.invoke(url, “” );
Parameter result = resp.getReturnValue();

Qual é a solução mais adequada para se chamar e passar os parametros no nusoap?

Agradeço desde já qualquer ajuda!

1 Resposta

S

erra erro de um ponto jar que estava faltando mail.jar

mas ainda tenho um erro:

[Fatal Error] :1:357: The value of the attribute

"prefix=“xmlns”,localpart=“ns1”,rawname=“xmlns:ns1" is invalid. Prefixed

namespace bindings may not be empty.

Exception in thread main [SOAPException: faultCode=SOAP-ENV:Client;

msg=Parsing error, response was:

The value of the attribute

"prefix=“xmlns”,localpart=“ns1”,rawname=“xmlns:ns1" is invalid. Prefixed

namespace bindings may not be empty.;

targetException=org.xml.sax.SAXParseException: The value of the attribute

"prefix=“xmlns”,localpart=“ns1”,rawname=“xmlns:ns1" is invalid. Prefixed

namespace bindings may not be empty.]

at org.apache.soap.rpc.Call.invoke(Call.java:335)

at org.apache.soap.rpc.Call.invoke(Call.java:244)

at SOAPClient.getResponse(SOAPClient.java:42)

at SOAPClient.main(SOAPClient.java:6

Caused by: org.xml.sax.SAXParseException: The value of the attribute

"prefix=“xmlns”,localpart=“ns1”,rawname=“xmlns:ns1" is invalid. Prefixed

namespace bindings may not be empty.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown

Source)

at

com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown

Source)

at org.apache.soap.util.xml.XMLParserUtils.parse(XMLParserUtils.java:323)

at org.apache.soap.util.xml.XMLParserUtils.parse(XMLParserUtils.java:263)

at org.apache.soap.rpc.Call.invoke(Call.java:296)

at org.apache.soap.rpc.Call.invoke(Call.java:244)

at SOAPClient.getResponse(SOAPClient.java:42)

at SOAPClient.main(SOAPClient.java:6

Alguém pode me ajudar!!

Criado 17 de dezembro de 2008
Ultima resposta 17 de dez. de 2008
Respostas 1
Participantes 1