Estou tentando passar um campo a mais que é o "COBS".
var result = ws.GRVSOLIC(EMPRESA, FILIAL, CDOC, CSERIE, CFORNEC, CLOJA, CIDFLUI, CLOGIN, arrayOfGrv, COBS);
Mas retorna esse erro:
ERROR [com.datasul.technology.webdesk.dataset.CustomizedDatasetBuilder] (default task-36) sun.org.mozilla.javascript.internal.EvaluatorException:
Can't find method br.com.protheus.QGWSFLUISOAP_BindingStub.GRVSOLIC(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,br.com.protheus.GRVITEM,java.lang.String).
Alguém sabe dizer o que significa esse erro?
1 curtida
@Marcella,
Foi adicionado esse parâmetro na função do Protheus?
Caso sim, edite o serviço desse webservice no Eclipse e dê uma salvar e tente executar novamente.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Sempre que você fizer alguma alteração no seu Webservice, edite sempre o serviço dele no Eclipse e salve. Para poder atualizar as informações.
Fiz isso e erro continua o mesmo. Sabe o que mais poderia ser?
Sem esse outro parâmetro ele funcionava?
Sim, apenas quando acrescenta o campo “COBS” que ele para.
Acrescentei dois arquivos pra especificar melhor o que acontece.
Quando você clica na aba “Visualização de Serviços” → “Consulta serviço”, dai você consulta o seu serviço que tem essa função…Quantos parâmetros está trazendo nessa função no retorno dessa consulta?
Acrescentei a foto 02.png que mostra o que tem lá, passa 10 argumentos como esperado.
Faça esse teste: jogue o parâmetro de array (arrayOfGrv) por último no protheus e no Fluig, edite o serviço no Eclipse, e tente executar novamente.
Fiz e foi consumido, antes nem isso fazia. Obrigada, já é um avanço, porém o campo COBS vai como “undefined”
Tente passar esse campo assim: String(COBS) e se não der certo tente passar assim: String(COBS.trim()).
Esse campo é um campo textarea?
Vou tentar fazer isso, é um textarea sim.
Com o String(COBS) continuou undefined. Com String(COBS.trim()) retornou esse erro:
ERROR [com.datasul.technology.webdesk.dataset.CustomizedDatasetBuilder] (default task-52) sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot call method “trim” of undefined (#182) in at line number 182: com.datasul.technology.webdesk.customization.CustomizationException: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot call method “trim” of undefined (#182) in at line number 182
Pra mostrar os campos no LOG você colocou o log.info logo antes da chamada do método do serviço?
Fiz assim:
log.info(“###############COBS: " + COBS);
var result = ws.GRVSOLIC(EMPRESA, FILIAL, CDOC, CSERIE, CFORNEC, CLOJA, CIDFLUI, CLOGIN, String(COBS.trim()), arrayOfGrv);
log.info(”###############COBS: " + COBS);
Adicionei mais uma foto pra mostrar o LOG (03.png)
Pode retirar o .trim(). Pegue o valor dessa variável e jogue em outro campo e passe ele como parâmetro.
var testeObs = String(COBS);
var result = ws.GRVSOLIC(EMPRESA, FILIAL, CDOC, CSERIE, CFORNEC, CLOJA, CIDFLUI, CLOGIN, testeObs, arrayOfGrv);
Tentei dessa forma e nada, continua undefined… No LOG acima da chamada funciona corretamente, mas quando faz a chamada, passa undefined. O problema poderia ser no WS?
Tente fazer assim:
var testeObs = "Apenas Teste";
log.info("##### testeObs: " + testeObs);
var result = ws.GRVSOLIC(EMPRESA, FILIAL, CDOC, CSERIE, CFORNEC, CLOJA, CIDFLUI, CLOGIN, testeObs, arrayOfGrv);
log.info("##### testeObs: " + testeObs);
Veja se acontece a mesma situação.
Aí ele grava “Apenas Teste”. Tirei print do que o log mostra (logs.png e banco.png).