Cita:
Empezado por newtron
Gracias compañero. ¿Tendrías algún ejemplo que pudieras mostrar?
Saludos.
|
Te digo lo mismo que a pararegistrarme hay que añadir la opcion soSenduntype para no tener problemas, lo puse al contrario.
Te pongo un ejemplo:
Código Delphi
[-]var
Factura : RegistroFacturaType;
RefId, Swdsl: string;
MyXML, parentXML : TXMLDocument;
ARootNode,newNode, AParentode : IXMLNode;
begin
Factura := RegistroFacturaType.Create;
Factura.RegistroAlta := RegistroFacturacionAltaType.Create;
MyXML := TXMLDocument.Create(Application);
parentXML := TXMLDocument.Create( Application );
MyXML.Active := True;
MyXML.Version:='1.0';
MyXML.Encoding:='utf-8';
parentXML.Active := True;
parentXML.Version:='1.0';
parentXML.Encoding:='utf-8';
ARootNode := MyXML.CreateNode('RegistroAlta');
AParentode := parentXML.CreateNode('RegistroAlta');
var MOPToSoapDomConvert : TOPtoSOAPDomConvert;
MOPToSoapDomConvert := TOPtoSOAPDomConvert.Create(Application);
MOPToSoapDomConvert.Encoding := 'utf-8';
MOPToSoapDomConvert.Options :=
[
TSOAPConvertOption.soXXXXHdr,
TSOAPConvertOption.soDontSendEmptyNodes,
TSOAPConvertOption.soUTF8InHeader,
TSOAPConvertOption.soSendUntyped,
TSOAPConvertOption.soSendMultiRefObj,
TSOAPConvertOption.soTryAllSchema,
TSOAPConvertOption.soRootRefNodesToBody,
TSOAPConvertOption.soCacheMimeResponse,
TSOAPConvertOption.soUTF8EncodeXML,
TSOAPConvertOption.soSOAP12];
Swdsl := 'https://prewww2.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tikeV1.0/cont/ws/SistemaFacturacion.wsdl';
newNode := Factura.RegistroAlta.ObjectToSOAP( ARootNode, AParentode, MOPToSoapDomConvert, 'RegistroAlta',
Swdsl,'T',[ocoDontPrefixNode,ocoDontPutTypeAttr], RefId );
Factura.RegistroAlta.SOAPToObject( ARootNode, newNode, MOPToSoapDomConvert);
end;