Ola colegas,
Estou a dias tentando resolver este problema ...
$.ajax({
type: "POST",
url: wsUrl,
dataType: "xml",
data: xmlDoc,
success: function(data){
FLUIGC.toast({
title: 'Processo iniciado!',
message: 'Update concluido',
type: 'info'
})
},
error: function(error) {
console.log(error);
}
});
recebo a seguinte mensagem de erro:
jquery.js:2 Uncaught TypeError: Illegal invocation
at e (VM356 jquery.js:2)
at Gb (VM356 jquery.js:2)
at Gb (VM356 jquery.js:2)
at Function.n.param (VM356 jquery.js:2)
at Function.ajax (VM356 jquery.js:2)
at IntegraSoc (VM363 integra_soc.js:65)
at HTMLButtonElement.onclick (?WDCompanyId=1&WDNrDocto=0&WDNrVersao=0&WDParentDocumentId=234:73)
e se eu troco para que 'data:' receba a variavel sem o parse 'data: vXml', recebo a seguinte mensagem abaixo
Cross-Origin Read Blocking (CORB) blocked
cross-origin response https://ws1.soc.com.br/WSSoc/services/CargoWs?wsdl
with MIME type text/xml. See https://www.chromestatus.com/feature/5629709824032768 for more details
Alguem tem alguma dica ?
Muitissimo obrigado
Alguém já passou por este problema ?
Boa tarde William,
uma opção seria você consumir esse WebService SOAP via atividade de serviço ou eventos de processo ou formulário. Acho que você não fez isso pelo fato do seu WS requerer WSSecurity.
Então, via cadastro de Serviço SOAP não existe ainda uma opção nativa para consumo com WSSecurity. Uma alternativa semelhante ao que você está tentando via ajax seria cadastrar o endpoint desse WS SOAP como um Serviço REST no Painel de Controle e fazer o POST do seu envelope SOAP via fluigAPI.getAuthorizeClientService(), que nada mais é do que um client HTTP.
Por exemplo, cadastrando um serviço "REST" chamado wsCargo para o endpoint 'https://ws1.soc.com.br/WSSoc/services/CargoWs' sem nenhum tipo de autenticação, então você poderia consumir ele em algum script/evento como no código abaixo:
var soap = 'envelope SOAP no formato String com o header WSSecurity';
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
companyId : getValue("WKCompany") + '',
serviceCode : 'wsCargo',
endpoint : '',
method : 'POST',
timeoutService: '100',
strParams : soap,
options : {
encoding : 'UTF-8',
mediaType: 'text/xml'
},
headers: {
Content-Type: 'text/xml;charset=UTF-8'
}
}
var vo = clientService.invoke(JSON.stringify(data));
log.info(vo.getResult());
Você possui um exemplo do envelope soap com a String header WSSecurity?
Ola Diogo,
Sua solução foi Phodaaaa (permita dizer)
Muitissimo obrigado pela dica, funcionou redondo !!!!!
a única coisa que deu erro foi
headers: {
Content-Type: 'text/xml;charset=UTF-8'
}
Não sei o motivo, mas retirei esse parametro e passou sem problemas ... e de fato preciso passar o wss e isso complicou um pouco.
Mais uma vez, muitissimo obrigado !!!
Opa, esqueci de colocar aspas no ‘Content-Type’, mas se funcionou sem o header está beleza
Olá, estou tendo um problema parecido, ao criar o serviço e tentar consumir conforme apresentado por vocês, estou recebendo o erro 403 Forbidden oque poderia ser?