Alta Cliente Protheus WebServices

Hola, tengo un web services en protheus, funciona desde soapui pero no logro que funcione desde fluig, con un evento de servicio.

Adjunto el wsdl y el fuente del evento del servicio:

function servicetask5(attempt, message) { try { var Service = ServiceManager.getService('XCLIENTE'); var serviceHelper = Service.getBean();

var serviceLocator = serviceHelper.instantiate("_242._40._168._192._8070.XCLIENTEATUALIZAR");

serviceLocator.setTELEFONE("115678975"); serviceLocator.setRISCO("E"); serviceLocator.setSATIV1("001"); serviceLocator.setNROIB("270107770"); serviceLocator.setPAIS("063"); serviceLocator.setNOMEREDUZ("ING RUBEN SEOANE"); serviceLocator.setPERCIVA("S"); serviceLocator.setTABELA("094"); serviceLocator.setSATIV5("010"); serviceLocator.setCEP("1674"); serviceLocator.setCODIGO("334218"); serviceLocator.setCOND("001"); serviceLocator.setCDRDES("COR"); serviceLocator.setAGENPER("S"); serviceLocator.setAFIP("1"); serviceLocator.setTRANSP("129"); serviceLocator.setVEND("001"); serviceLocator.setMSBLQL("2"); serviceLocator.setNOME("ING RUBEN SEOANE"); serviceLocator.setMUNICIPIO("3 DE FEB"); serviceLocator.setNATUREZ("NATUREZ"); serviceLocator.setCONTA("113111"); serviceLocator.setEMAIL("SEOANE.RUBEN@YAHOO.COM"); serviceLocator.setCUIT("20270107770"); serviceLocator.setENDERECO("AV. AMERICA"); serviceLocator.setFILIAL("01"); serviceLocator.setLOJA("01"); serviceLocator.setREGIAO("053"); serviceLocator.setVEND("001"); serviceLocator.setPROVINCIA("BA");

var RESULT = serviceHelper.instantiate("_242._40._168._192._8070.XCLIENTESOAP"); //var RESULT = serviceHelper.instantiate("_242._40._168._192._8070");

var array = RESULT.atualizar(serviceLocator); //Service.atualizar(serviceLocator); //var resultado = serviceHelper.instantiate("_242._40._168._192._8070.ATUALIZAR");

//resultado.setCLIENTE(serviceLocator);

log.info("########## ejecutado"); } catch(error) { log.error(error); throw error; } }

Si alguien puede orientarme.

Gracias

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Bom dia Ruben,

você precisa utilizar o método getXCLIENTESOAP() para obter acesso ao "port" do serviço:


var serviceHelper = ServiceManager.getService('XCLIENTE');
var serviceLocator = serviceHelper.instantiate('_242._40._168._192._8070.XCLIENTE');

var cliente = serviceHelper.instantiate("_242._40._168._192._8070.XCLIENTEATUALIZAR");
cliente.setTELEFONE("115678975"); 
cliente.setRISCO("E"); 
cliente.setSATIV1("001"); 
cliente.setNROIB("270107770"); 
cliente.setPAIS("063"); 
cliente.setNOMEREDUZ("ING RUBEN SEOANE"); 
cliente.setPERCIVA("S"); 
cliente.setTABELA("094"); 
cliente.setSATIV5("010"); 
cliente.setCEP("1674"); 
cliente.setCODIGO("334218"); 
cliente.setCOND("001"); 
cliente.setCDRDES("COR"); 
cliente.setAGENPER("S"); 
cliente.setAFIP("1"); 
cliente.setTRANSP("129"); 
cliente.setVEND("001"); 
cliente.setMSBLQL("2"); 
cliente.setNOME("ING RUBEN SEOANE"); 
cliente.setMUNICIPIO("3 DE FEB"); 
cliente.setNATUREZ("NATUREZ"); 
cliente.setCONTA("113111"); 
cliente.setEMAIL("SEOANE.RUBEN@YAHOO.COM"); 
cliente.setCUIT("20270107770"); 
cliente.setENDERECO("AV. AMERICA"); 
cliente.setFILIAL("01"); serviceLocator.setLOJA("01"); 
cliente.setREGIAO("053"); serviceLocator.setVEND("001"); 
cliente.setPROVINCIA("BA");

var service = serviceLocator.getXCLIENTESOAP();
var response = service.atualizar(cliente);

log.dir(response);

Diego, muchas gracias por tu aporte, funcionó perfecto. Gracias nuevamente