Hola a todos:
Estoy intentando enviar el fichero XML así
- Code: Select all Expand view
local oWS
oWS := CreateObject("MSXML2.ServerXMLHTTP.6.0")
if ValType(oWS)<>"O"
MsgInfo("No tenemos el objeto...")
return nil
endif
if file("C:\Users\Carlos.CALOS\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates\B58E31DBC29DEB7C86A25BB6BB28593E2CA12EA0")
msginfo("SI")
else
msginfo("NO")
endif
// Certificado que vamos a usar desde el almacén de certificados de Windows.
oWS:SetOption(2, 13056)
oWS:SetOption(3, "C:\Users\Carlos.CALOS\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates\B58E31DBC29DEB7C86A25BB6BB28593E2CA12EA0")
oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", .f.)
// Establecer el timeout de la operación:
// resolveTimeout, connectTimeout, sendTimeout, receiveTimeout
// Los valores son en milisegundos:
oWS :setTimeouts(15000,15000, 600000, 600000)
// El método al que vamos a llamar.
oWS:SetRequestHeader("SOAPAction", "SuministroLRFacturasEmitidas")
cXML := MemoRead(archivoxml)
// Enviamos la información del XML.
oWS:send(cXML)
MsgInfo("Respuesta: "+oWS:responsexml:xml)
// Analizar la respuesta...
Pero siempre me dice lo mismo:
Error description: (DOS Error -2147352567) WINOLE/1007 El parámetro no es correcto. (0x80070057): msxml6.dll
en la línea
oWS:SetOption(3, "C:\Users\Carlos.CALOS\AppData\Roaming\Microsoft\SystemCertificates\My\Certificates\B58E31DBC29DEB7C86A25BB6BB28593E2CA12EA0")
Y en el "If File()" que pongo siempre sale "NO" pero si cambio "B58E31DBC29DEB7C86A25BB6BB28593E2CA12EA0" por "hola.txt" creando un archivo en la dirección de los certificados me sale "SI".
No se pero me parece que es algo de permisos y no se como solucionarlo, alguna ayuda.
Gracias
Carlos