Erro de Parser - Axis

2 respostas
Tiago_Farias

Olá galera,

estou com um problema quando conecto minha aplicação com um webservice. A aplicação não tá rodando em ambiente web ainda, tô apenas testando numa classe Cliente com um main aki...

O erro q ele tá apontando é:

[color=red]AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Deserializing parameter 'return': could not find deserializer for type {https://cohab.recife/common/webservice/}arrListaFuncionario
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Deserializing parameter 'return': could not find deserializer for type {https://cohab.recife/common/webservice/}arrListaFuncionario
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:345)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.provider.habita.webservice.Cliente.autenticaFuncionario(Cliente.java:31)
at com.provider.habita.webservice.Cliente.main(Cliente.java:171)[/color]

public class Cliente {
	
	static String local = "https://cohab.recife/common/webservice/EMAC/wsEMAC.php";
	
	
	public static String autenticaFuncionario(String strCPF, String strSenha, String strSistema)throws RemoteException {
		try{
	        
			Call call = (Call)new Service().createCall();			
			
			call.setTargetEndpointAddress(local);
			
			call.setOperationName(new QName("","autenticaFuncionario"));
			Object[] param = {strCPF,strSenha,strSistema};
			return (String)call.invoke(param);			
		}
		catch(ServiceException e) {
			e.printStackTrace();
			return null;
		}		
	}

  public static void main(String args[]){	
		
	java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
        System.setProperty("javax.net.ssl.keyStoreType","JKS");
        System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
        System.setProperty("javax.net.ssl.keyStore","jssecacerts" );
        System.setProperty("javax.net.ssl.trustStore","jssecacerts" );
        System.setProperty("javax.net.ssl.trustStorePassword","changeit" );
        System.setProperty("javax.net.ssl.trustStoreType","JKS");
		
		try{
			 String  str = Cliente.autenticaFuncionario("teste", "teste", "habita");
			 if (!str.equals("")){
				 System.out.println(str);
			 }
		}
		catch (RemoteException e) {
			e.printStackTrace();
		}
	}

Alguém sabe oq pode ser esse erro?? Qualquer ajuda será bem vinda. :-o

[]s.

2 Respostas

Tiago_Farias

Esqueci uma coisa:

a versão do Java q eu uso: 1.5.0_16
Axis : 1.4

Tiago_Farias

Bom, não consegui resolver o problema, mas modificando o método invocado...

public static String autenticaFuncionario(String strCPF, String strSenha, String strSistema)throws RemoteException {
		try{
			
	        
			Call call = (Call)new Service().createCall();			
			
			call.setTargetEndpointAddress(local);
			
			//call.setOperationName(new QName("","autenticaFuncionario"));
			call.setOperation("autenticaFuncionario");
			call.setReturnType(XMLType.SOAP_STRING);
			Object[] param = {strCPF,strSenha,strSistema};
			call.addParameter("cpf", XMLType.SOAP_STRING, ParameterMode.IN);
			call.addParameter("senha", XMLType.SOAP_STRING, ParameterMode.IN);
			call.addParameter("sistema", XMLType.SOAP_STRING, ParameterMode.IN);
			return (String)call.invoke(param);			
		}
		catch(ServiceException e) {
			e.printStackTrace();
			return null;
		}		
	}

... achei um erro diferente(daí minha esperança desse erro ser mais comum):

[color=red]AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXParseException: The value of the attribute "xmlns:ns1" is invalid. Prefixed namespace bindings may not be empty.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException: The value of the attribute "xmlns:ns1" is invalid. Prefixed namespace bindings may not be empty.[/color]

Se alguém puder ajudar, agradeço muuito!

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