En mi trabajo me pidieron que desarrollara un programa para generación y envío de la addenda Soriana Reverse
El programa ya genera la addenda y envía el xml al webservice de implementación pero siempre me da este error:
En alguno de los posts vi el detalle del BOM, entonces baje un editor hexadecimal para ver si el xml tenia la secuencia "ef bb bf" al inicio y no la tiene.Data at the root level is invalid. Line 1, position 1
Este es el código de envío al webservice:
Código: Seleccionar todo
procedure TaddSoriana.goSend;
var icss : wseDocReciboSoap;
nL0, nL1, nL2, nL3, nL4, nL5, nL6: IXMLNode;
pezCode, pezDesc :String;
begin
try
xdoc.XML.Clear;
icss := GetwseDocReciboSoap();
xdoc.XML.Text := icss.RecibeCFD( ArchivoAddenda.Text );
xdoc.Active := True;
// Load main node "AckErrorApplication"
nL0 := xdoc.ChildNodes.FindNode( 'AckErrorApplication' );
editStatus.Text := trim(nL0.GetAttributeNS('documentStatus',''));
// Folio
nL1 := nL0.ChildNodes.FindNode('ReferenceNumber');
nL2 := nL1.ChildNodes.FindNode('referenceIdentification');
editFolRec.Text := nL2.Text;
// Error
if editStatus.Text = 'REJECT' then begin
nL3 := nL0.ChildNodes.FindNode('messageError');
nL4 := nL3.ChildNodes.FindNode('errorCode');
pezCode := nl4.Text;
nL5 := nL3.ChildNodes.FindNode('errorDescription');
nL6 := nL5.ChildNodes.FindNode('text');
pezDesc := nl6.Text;
editError.Text := pezCode + ' / ' + pezDesc;
end else editError.Text := 'Factura aceptada.'; {error}
// Close xml
xdoc.Active := False;
except
editError.Text := 'Problema al enviar el comprobante.'; {error}
end;{try}
end;
Tengo varios días intentando comunicarme con el centro de soporte de Soriana y no me contestan, hoy ni siquiera se escucha la grabación.
Cualquier comentario que me pueda ayudar se los agradezco mucho.
Saludos, Rubén.