Estou criando um dataset com base no serviço cadastrado no modelo AXIS. Só que está dando esse erro:
Can't find method org.tempuri.AZIX_x0020_WSSoapStub.consulta(string,string,number,string,string). (#37) in at line number 37
Já testei quase todas as classes,mas nunca encontra, existe algo mais que devo fazer?
function createDataset(fields, constraints, sortFields) {
var periodicService = ServiceManager.getService('wsAzixSoap');
log.info("#1 azix>>> "+periodicService);
var serviceHelper = periodicService.getBean();
log.info("#2 azix>>> "+serviceHelper);
var serviceLocator = serviceHelper.instantiate('org.tempuri.AZIX_x0020_WSLocator');
log.info("#3 azix>>> "+serviceHelper);
var service = serviceLocator.getAZIX_x0020_WSSoap();
log.info("#4 azix>>> "+service);
//Parametros AZIX
var usuario = "xx";
var token = "98989889xxuuuu";
var codigoServico = 9;
var parametro1 = "69770411003461";
var parametro2 = "RJ";
var parametro3 = null;
var parametro4 = null;
var parametro5 = null;
var TamNomeFantasia = null;
var TamLogradouro = null;
var TamComplemento = null;
var TamBairro = null;
var TamMunicipio = null;
log.info("#5 azix>>> "+service);
log.info(service.consulta(usuario,token,codigoServico,parametro1,parametro2));
}
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Alguém sabe porque nao consigo encontrar o metodo desse servico?
var periodicService = ServiceManager.getService(‘wsAzixSoap’);
log.info(“##1 AZIX serviceHelper >”+periodicService);
var serviceHelper = periodicService.getBean();
log.info(“##2 AZIX serviceLocator >”+serviceHelper);
var serviceLocator = serviceHelper.instantiate(‘org.tempuri.AZIX_x0020_WSLocator’);
log.info(“##3 AZIX service >”+serviceLocator);
var service = serviceLocator.getAZIX_x0020_WSSoap();
log.info(“##4 AZIX service >”+service);
Só consigo chegar ate aqui. log.info(“##3 AZIX service >”+serviceLocator);
var service = serviceLocator.getAZIX_x0020_WSSoap();
log.info(“##4 AZIX service >”+service); nao consigo chamar o metodo dar erro ele diz que nao foi possivel chamar o metodo Consulta
Quando vc consulta as classes no eclipse, quais são os tipos dos parâmetros do java que ele espera
no método consulta?
Tá falando dos parametros do metodo? Se quiser coloco um print do SOAP UI e a url do wsdl. Nao to conseguindo criar o dataset e executar o metodo.
vOU COLOCAR O PRINT do projeto SOAP UI
Acho que vc deve passar todos os parâmetros pro método consulta, mesmo com valores nulos, pq eles podem estar marcados como opcionais, mas na assinatura do método no Java eles são obrigatórios
O problema é que ele não encontra o método ele dar um erro dizendo que não encontrou o método. Não sei se tá faltando mais algum metodo do fluig pra instanciar.
Eu ponho consulta ele diz que nao encotnra eu ponho Consulta ele diz que nao foi possivel encontrar o metodo consulta. var service = serviceLocator.getAZIX_x0020_WSSoap(); Ja tentei com todos os metodos. Se voce fosse instanciar, como voce faria?
Bom dia Italo,
a forma como você está instanciando com o Locator está correta, o que eu quis dizer no comentário é que ele não vai achar mesmo o método se você só passar esses 5 parâmetros. Tens que passar todos eles senão o java não vai entender a assinatura do método consulta.
A chamada do método seria assim:
var usuario = "xx";
var token = "98989889xxuuuu";
var codigoServico = 9;
var parametro1 = "69770411003461";
var parametro2 = "RJ";
var parametro3 = null;
var parametro4 = null;
var parametro5 = null;
var TamRazaoSocial = null;
var TamNomeFantasia = null;
var TamLogradouro = null;
var TamComplemento = null;
var TamBairro = null;
var TamMunicipio = null;
log.info("#5 azix>>> "+service);
var consultaResult = service.consulta(usuario, token, codigoServico, parametro1, parametro2, parametro3, parametro4,
parametro5, TamRazaoSocial, TamNomeFantasia, TamLogradouro, TamComplemento, TamBairro, TamMunicipio);
var resultArray = consultaResult.get_any();
for (var i = 0; i < resultArray.length; i++) {
var message = resultArray[i];
log.info(message.getAsString())
}
O retorno do método get_any() é um array de MessageElement do Axis, ele tem métodos pra manipular como XML, podes dar uma olhada no javadoc dele: https://axis.apache.org/axis/java/apiDocs/org/apache/axis/message/MessageElement.html
Vc rerecebeu mensagem de sucesso ao chamar o método? vou testar aqui pra ver se ele retorna.
Não, recebi erro de usuário inválido
A chamada do serviço tá correta? é somente a chamada do método?
Isso, tem que passar todos os parâmetros, são 14 no total
Pronto, agora não deu erro não apresentou no log.info as informações de erro de usuário e senha e isso sinaliza que ele encontrou o método. Parabéns meu caro.