Error Enviando SII con XP

Post Reply
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Error Enviando SII con XP

Post by colthop »

Hola a todos:

Estoy haciendo envios al nuevo sistema del SII y en un ordenador que tiene XP instalado d el siguiente error:

Error description: Error TOleAuto/.1 CO_E_CLASSTRING: TOLEAUTO:NEW

La parte que hace el envio es:

Code: Select all

oWS := CreateObject("MSXML2.ServerXMLHTTP.6.0")
oWS:SetOption(2, 13056)
oWS:SetOption(3, trim(zCertDigi))
if file("WSPrueba.txt")
  do case
    case libro = "1"
      if tipocomu = "PC"
        oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP", .f.)
      else
        oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", .f.)
      endif
    case libro = "2"
      if tipocomu = "PC"
        oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/fr/SiiFactPAGV1SOAP", .f.)
      else
        oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP", .f.)
      endif
    case libro = "3"
      oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/oi/SiiFactOIV1SOAP", .f.)
    case libro = "4"
      oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/bi/SiiFactBIV1SOAP", .f.)
    case libro = "5"
      oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/pm/SiiFactCMV1SOAP", .f.)
    case libro = "6"
      oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/pm/SiiFactCMV1SOAP", .f.)
    case libro = "7"
      oWS :Open("POST", "https://www7.aeat.es/wlpl/SSII-FACT/ws/pm/SiiFactCMV1SOAP", .f.)
  endcase
else
  do case
    case libro = "1"
      if tipocomu = "PC"
        oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP", .f.)
      else
        oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", .f.)
      endif
    case libro = "2"
      if tipocomu = "PC"
        oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fr/SiiFactPAGV1SOAP", .f.)
      else
        oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/fr/SiiFactFRV1SOAP", .f.)
      endif
    case libro = "3"
      oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/oi/SiiFactOIV1SOAP", .f.)
    case libro = "4"
      oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/bi/SiiFactBIV1SOAP", .f.)
    case libro = "5"
      oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/pm/SiiFactCMV1SOAP", .f.)
    case libro = "6"
      oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/pm/SiiFactCMV1SOAP", .f.)
    case libro = "7"
      oWS :Open("POST", "https://www1.agenciatributaria.gob.es/wlpl/SSII-FACT/ws/pm/SiiFactCMV1SOAP", .f.)
  endcase
endif
oWS :setTimeouts(15000,15000, 600000, 600000)
do case
  case libro = "1"
    do case
      case substr(tipocomu,1,1) = "A"
        oWS:SetRequestHeader("SOAPAction", "SuministroLRFacturasEmitidas")
      case tipocomu = "BA"
        oWS:SetRequestHeader("SOAPAction", "BajaLRFacturasEmitidas")
      case tipocomu = "PC"
        oWS:SetRequestHeader("SOAPAction", "SuministroLRCobrosEmitidas")
    endcase
  case libro = "2"
    do case
      case substr(tipocomu,1,1) = "A"
        oWS:SetRequestHeader("SOAPAction", "SuministroLRFacturasRecibidas")
      case tipocomu = "BA"
        oWS:SetRequestHeader("SOAPAction", "BajaLRFacturasRecibidas")
      case tipocomu = "PC"
        oWS:SetRequestHeader("SOAPAction", "SuministroLRPagosRecibidas")
    endcase
  case libro = "3"
    if substr(tipocomu,1,1) = "A"
      oWS:SetRequestHeader("SOAPAction", "SuministroLRDetOperacionIntracomunitaria")
    else
      oWS:SetRequestHeader("SOAPAction", "BajaLRDetOperacionIntracomunitaria")
    endif
  case libro = "4"
    if substr(tipocomu,1,1) = "A"
      oWS:SetRequestHeader("SOAPAction", "SuministroLRBienesInversion")
    else
      oWS:SetRequestHeader("SOAPAction", "BajaLRBienesInversion")
    endif
  case libro = "5"
    if substr(tipocomu,1,1) = "A"
      oWS:SetRequestHeader("SOAPAction", "SuministroLRCobrosMetalico")
    else
      oWS:SetRequestHeader("SOAPAction", "BajaLRCobrosMetalico")
    endif
  case libro = "6"
    if substr(tipocomu,1,1) = "A"
      oWS:SetRequestHeader("SOAPAction", "SuministroLROperacionesSeguros")
    else
      oWS:SetRequestHeader("SOAPAction", "BajaLROperacionesSeguros")
    endif
  case libro = "7"
    if substr(tipocomu,1,1) = "A"
      oWS:SetRequestHeader("SOAPAction", "SuministroLRAgenciasViajes")
    else
      oWS:SetRequestHeader("SOAPAction", "BajaLRAgenciasViajes")
    endif
endcase
cXML := MemoRead(trim(archivo))
oWS:send(cXML)
nombfich = respuesta
m := fcreate (trim(respuesta),0)
fwrite (m,oWS:responsexml:xml)
fclose (m)
cXML := MemoRead(trim(respuesta))
Y el error da en la primera línea.

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Error Enviando SII con XP

Post by Carlos Mora »

Probablemente, no lo puedo asegurar, se necesiten protocolos que XP no tiene, ya que no se actualiza más. Los algoritmos que se requieren a nivel de SSL tienen nuevos mínimos que XP no cumple, por lo que no puedes usar las del propio SSOO.

XP ya no tiene soporte, asegúrate de que al menor tenga el SP3 para que te dé el máximo posible, pero empieza a pensar que vas a tener que actualizar.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Post Reply