3
respostas

Vue Js + Axios + WebServices SOAP + header + param + Token

Quando executo o método abaixo rebebo a mensagem que o param01 não foi informado: "Chamada de serviço da Web inválida, valor do parâmetro ausente: 'param01'.

Estou tendo dificuldades para fazer a autenticação com token, e passar os parâmetros ao mesmo tempo. No exemplo abaixo, o axios está dentro de uma promise, esta estrutura não me incomoda, pois outros métodos funcionam bem assim. A mensagem de erro aparentemente tem origem em algum erro de sintaxe da execução do Axios.

//Código inicia aqui:

let header = { headers : { 'Authorization': 'Bearer' + _this.token }};

let params = { params: { param01: String(_this.param01), param02: String(_this.param02) }};

return new Promise((resolve, reject) => {

resolve(
        axios
        .post('methodWebService', header, params)
        .then(function(response){
            console.log(response.data);
        })
        .catch((err) => {
            console.log('WebSerives/Method error :', err );
        });
)

});

Se alguém já recebeu essa mensagem, por favor, informe a solução.

3 respostas

Fala ai Marco, tudo bem? Realmente o problema pode estar no .post, acho que você precisa dar uma reorganizada na ordem dos parâmetros.

No caso, o primeiro parâmetro que é referente a URL está correto, o segundo deveria ser o body à ser enviado para a API, no caso, acredito que seria o seu params e por último ele recebe as configurações da requisição.

Dessa maneira, acho que poderia tentar assim:

.post('methodWebService', params, {
    headers: header,
})

Caso não dê certo a gente vai conversando.

Espero ter ajudado.

Obrigado Matheus. Fiz os ajustes dessa forma e estou com o mesmo erro, na verdade to tentando de várias formas diferentes, estou acessando um método SOAP, quando faço os testes no SOAP UI consigo executar e receber o resultado.

Fala Marco, tente comprar a requisição feita pelo Axios e a sua pelo SOAP UI.

Antes de realizar a requisição, abre o console do navegador e vai até a aba Network (Rede), limpe todos os logs (se houver).

Depois, realiza a requisição, provavelmente irá aparecer uma nova linha referente a sua requisição.

Clique nela e veja os dados da mesma, assim você consegue reparar e olhar o está indo de errado.

Espero ter ajudado.