Hasta ahora no había tenido que desarrollar la parte de cobros / pagos de facturas suministradas previamente. Tengo un cliente el cual a su vez un proveedor que le emite facturas acogidas al criterio de caja y me ha reclamado esta opción. Parar ello me he dispuesto a hacer tal como hice con el resto de wsdl, importar a través "Component - Import WSDL".
En el asistente le dejo los parámetros por defecto y selecciono el WDSL(el último) que tengo almacenado en el ordenador.
Cual es mi sorpresa que no lo importa correctamente, no se que parámetros tengo que seleccionar o seguramente lo que realmente pasa es que no tengo ni puta idea.
Código:
unit SuministroCobrosEmitidas;
interface
uses Soap.InvokeRegistry, Soap.SOAPHTTPClient, System.Types, Soap.XSBuiltIns;
type
// ************************************************************************ //
// The following types, referred to in the WSDL document are not being represented
// in this file. They are either aliases[@] of other types represented or were referred
// to but never[!] declared in the document. The types from the latter category
// typically map to predefined/known XML or Embarcadero types; however, they could also
// indicate incorrect WSDL documents that failed to declare or import a schema type.
// ************************************************************************ //
// !:ConsultaCobros - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd"[Lit][]
// !:RespuestaConsultaCobros - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaConsultaLR.xsd"[Lit][]
// !:SuministroLRCobrosEmitidas - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd"[Lit][]
// !:RespuestaLRCobrosEmitidas - "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/RespuestaSuministro.xsd"[Lit][]
// ************************************************************************ //
// Namespace : https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroCobrosEmitidas.wsdl
// transport : http://schemas.xmlsoap.org/soap/http
// style : document
// use : literal
// binding : siiBinding
// service : siiService
// port : SuministroCobrosEmitidas
// URL : https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP
// ************************************************************************ //
siiSOAP = interface(IInvokable)
['{9EF60891-5E4C-9812-57C2-1284CE15ECC8}']
// Cannot unwrap:
// - Input part does not refer to an element
// - Output part does not refer to an element
function SuministroLRCobrosEmitidas(const SuministroLRCobrosEmitidas: SuministroLRCobrosEmitidas): RespuestaLRCobrosEmitidas; stdcall;
// Cannot unwrap:
// - Input part does not refer to an element
// - Output part does not refer to an element
function ConsultaLRCobrosEmitidas(const ConsultaCobrosEmitidas: ConsultaCobros): RespuestaConsultaCobros; stdcall;
end;
function GetsiiSOAP(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): siiSOAP;
implementation
uses System.SysUtils;
function GetsiiSOAP(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): siiSOAP;
const
defWSDL = 'O:\contadoc\herramientas_externas\d4sii\Win32\Debug\SuministroCobrosEmitidas.wsdl';
defURL = 'https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP';
defSvc = 'siiService';
defPrt = 'SuministroCobrosEmitidas';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as siiSOAP);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
initialization
{ siiSOAP }
InvRegistry.RegisterInterface(TypeInfo(siiSOAP), 'https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroCobrosEmitidas.wsdl', 'UTF-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(siiSOAP), '');
InvRegistry.RegisterInvokeOptions(TypeInfo(siiSOAP), ioDocument);
InvRegistry.RegisterInvokeOptions(TypeInfo(siiSOAP), ioLiteral);
end.
Código:
[dcc32 Error] SuministroCobrosEmitidas.pas(48): E2003 Undeclared identifier: 'SuministroLRCobrosEmitidas'
[dcc32 Error] SuministroCobrosEmitidas.pas(48): E2003 Undeclared identifier: 'RespuestaLRCobrosEmitidas'
[dcc32 Error] SuministroCobrosEmitidas.pas(53): E2003 Undeclared identifier: 'ConsultaCobros'
[dcc32 Error] SuministroCobrosEmitidas.pas(53): E2003 Undeclared identifier: 'RespuestaConsultaCobros'
[dcc32 Fatal Error] D4SII.dpr(18): F2063 Could not compile used unit 'SuministroCobrosEmitidas.pas'
Failed
¿Alguien me podría aclarar el tema por favor o echarme un cable please?