I have to use a Web Services in Soap 1.1 in a web API application developed in .Net 7. It is a web services of the Spanish administration.
I need to save the XML that I send to the Web Service but in Soap format.
The first thing I did was add the wsdl to Connected Services in my application.
I've been trying to generate it for several days but I only get the normal XML format, not soap format.
I need to get something like this:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header />
<soapenv:Body>
<sum:AltaFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:ObligadoEmision>
<sum1:NombreRazon>XXXXX</sum1:NombreRazon>
<sum1:NIF>XXXXX</sum1:NIF>
</sum1:ObligadoEmision>
<sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>
</sum1:Cabecera>
<sum:RegistroAltaFacturas>
<sum:RegistroFacturacion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>
<sum1:NIF>XXXXX</sum1:NIF>
</sum1:IDEmisorFactura>
<sum1:NumSerieFacturaEmisor>12345</sum1:NumSerieFacturaEmisor>
<sum1:FechaExpedicionFacturaEmisor>13-11-2023</sum1:FechaExpedicionFacturaEmisor>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>certificado uno telematicas</sum1:NombreRazonEmisor>
<sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>Descripc</sum1:DescripcionOperacion>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>XXXXX</sum1:NombreRazon>
<sum1:NIF>XXXXX</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>4</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>10</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>0.4</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>100</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>21</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:ImporteTotal>131.4</sum1:ImporteTotal>
<sum1:EncadenamientoRegistroAnterior>
<sum1:IDEmisorFacturaRegistroAnterior>
<sum1:NIF>XXXXX</sum1:NIF>
</sum1:IDEmisorFacturaRegistroAnterior>
<sum1:NumSerieFacturaRegistroAnterior>44</sum1:NumSerieFacturaRegistroAnterior>
<sum1:FechaExpedicionFacturaRegistroAnterior>13-02-2022</sum1:FechaExpedicionFacturaRegistroAnterior>
<sum1:HuellaRegistroAnterior>HuellaRegistroAnterior</sum1:HuellaRegistroAnterior>
</sum1:EncadenamientoRegistroAnterior>
<sum1:SistemaInformatico>
<sum1:NombreRazon>CERTIFICADO DOS TELEMATICAS</sum1:NombreRazon>
<sum1:NIF>XXXXX</sum1:NIF>
<sum1:NombreSistemaInformatico>NombreSistemaInformatico</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>77</sum1:IdSistemaInformatico>
<sum1:Version>1.0.03</sum1:Version>
<sum1:NumeroInstalacion>383</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleOtros>N</sum1:TipoUsoPosibleOtros>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
</sum1:SistemaInformatico>
<sum1:FechaGenRegistro>13-11-2023</sum1:FechaGenRegistro>
<sum1:HoraGenRegistro>20:59:25</sum1:HoraGenRegistro>
<sum1:HusoHorarioGenRegistro>02</sum1:HusoHorarioGenRegistro>
</sum:RegistroFacturacion>
<sum:DatosControl>
<sum1:Huella>Huella</sum1:Huella>
<sum1:TipoHash>01</sum1:TipoHash>
</sum:DatosControl>
</sum:RegistroAltaFacturas>
</sum:AltaFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
But what I get is:
<?xml version="1.0" encoding="UTF-8"?>
<FacturasEmitidasType xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RegistroFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>
<NIF>B-95465373</NIF>
</IDEmisorFactura>
<NumSerieFacturaEmisor>FC2024/19</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>05/03/2024</FechaExpedicionFacturaEmisor>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">Clinica Dental</NombreRazonEmisor>
<TipoRegistroSIF xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">S0</TipoRegistroSIF>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F1</TipoFactura>
<FechaOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">06/03/2024</FechaOperacion>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">FC2024/19</DescripcionOperacion>
<Destinatarios xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
<Desglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<TipoImpositivo>0,00 €</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>2,00 €</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>0,00 €</CuotaRepercutida>
</DetalleDesglose>
</Desglose>
<ImporteTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">2,00 €</ImporteTotal>
<EncadenamientoRegistroAnterior xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" />
<FechaGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">06/03/2024</FechaGenRegistro>
<HoraGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">19:20:31</HoraGenRegistro>
<HusoHorarioGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">02</HusoHorarioGenRegistro>
</RegistroFacturacion>
<DatosControl xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">D72BB0598451EB1E0462F9CFCC44759235F13FDC8B3308E520C92AAC16A5C1EE</Huella>
<TipoHash xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</TipoHash>
</DatosControl>
</FacturasEmitidasType>
The function I use is:
private string Alta2XmlSoap(AltaFactuSistemaFacturacion envio)
{
StringBuilder xml = new StringBuilder();
XmlWriter writer = XmlWriter.Create(xml);
try
{
//// Create an instance of the XmlSerializer class.
XmlTypeMapping myMapping =
new SoapReflectionImporter().ImportTypeMapping(typeof(AltaFactuSistemaFacturacionRequest));
XmlSerializer mySerializer = new XmlSerializer(myMapping);
writer.WriteStartElement("AltaFactuSistemaFacturacion");
mySerializer.Serialize(writer, envio);
writer.WriteEndElement();
writer.Flush();
}
catch (Exception ex)
{
// throw ex;
}
finally
{
writer.Close();
}
return xml.ToString();
}
what am I doing wrong?
Thanks for the help