LIB CURL + HARBOUR + BCC 7.7 (AHORA SOLUCION CHILKAT - ACTIVEX)

russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7

Post by russimicro »

le agregue el archivo firmado... y responde con "0" y vacio el response
russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO )

Post by russimicro »

Buena noche.. he logrado enviar facturas electrónicas a la DIAN COLOMBIA, con
el siguiente código

Nota : solo me falta firmar desde harbour el archivo a enviar en : curl_easy_setopt( hCurl, HB_CURLOPT_POSTFIELDS, cXmlStr )

Requiero ayuda de expertos en el tema de firmar xml---

Gracias

JONSSON RUSSI

Code: Select all | Expand


#include "hbcurl.ch"

PROCEDURE main()

   local nError, cResponse
   //local cXmlStr   := hb_memoread( "peticion.xml" )
   local aHeader   := {}

   local cUrl := "https://vpfe.dian.gov.co/WcfDianCustomerServices.svc"
   local cCertFile := "CERTIFICADO.p12"
   local cCertType := "P12" // o "PFX"
   local cCertPass := "xxxxxxxxx"
   local cNomZip := "z006331767200025SP104100000250.zip"
   local cFacturaXml,cXmlStr := ""
   local aHasRes :=  hash()
   local cFilRes := ""
   local cSignedXmlFile := "E:\TEMP\XML_FIRMADO\z006331767200025SP104100000250_fv_B64"
   local hCurl

    cFacturaXml = MemoRead( cSignedXmlFile )
    //  cFacturaXml :=  "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"

    // Crear la solicitud SOAP
    cXmlStr := ;
        '<?xml version="1.0" encoding="UTF-8"?>' + ;
        '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wcf="http://wcf.dian.colombia">' + ;
        '<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsse:Security soap:mustUnderstand="true" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsu:Timestamp wsu:Id="TS-BD40368ECABC33A9ED174242532066842"><wsu:Created>2025-03-19T23:02:00.668Z</wsu:Created><wsu:Expires>2025-03-20T15:42:00.668Z</wsu:Expires></wsu:Timestamp><wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-BD40368ECABC33A9ED174242532063237">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</wsse:BinarySecurityToken><ds:Signature Id="SIG-BD40368ECABC33A9ED174242532066441" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="wsa soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#id-BD40368ECABC33A9ED174242532063240"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="soap wcf" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>qJh6cLlCnqq3wbelPQpLrHWjF1DckDtAd6nImSnuk0A=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>QfUTEIbjYSlsBrTjWPwzciZvY/je5La75j8yZrRhxUDHqYHt/09erTS6o6Cd8kMFg4cLoleY1VF1P0xiFMLJCIQYvb9TKYmQPuV2y4vw2B7fAkKNRxSW5JRjeIaAWN3WZ3XjIZiKZMzNKXKVLuM6hKNQ1mtnKBHqc3QpRikmekRwpJ7hDACB+LCbwHQywG9aAdaKzELHO3zzc1khju1YvcRb+eN9Dll7I0CVSX7RUklUfdUtdcyumZPmsgRmPMAZp0PG9owrbOd24tLKDD8QJQM9duNrv+EghPzsBmhYe70CzVlJ7Q3JtiWPctn6O5+Skb2DIsSuyJ6+wkyMNXfdVQ==</ds:SignatureValue><ds:KeyInfo Id="KI-BD40368ECABC33A9ED174242532063238"><wsse:SecurityTokenReference wsu:Id="STR-BD40368ECABC33A9ED174242532063239"><wsse:Reference URI="#X509-BD40368ECABC33A9ED174242532063237" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security><wsa:Action>http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync</wsa:Action><wsa:To wsu:Id="id-BD40368ECABC33A9ED174242532063240" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">https://vpfe.dian.gov.co/WcfDianCustomerServices.svc</wsa:To></soap:Header>'+;
        '<soap:Body>' + ;
        '<wcf:SendBillSync>' + ;
        '<wcf:fileName>' + cNomZip +'</wcf:fileName>' + ;
        '<wcf:contentFile>' + cFacturaXml + '</wcf:contentFile>' + ;
        '</wcf:SendBillSync>' + ;
        '</soap:Body>' + ;
        '</soap:Envelope>'


   //  HB_MEMOWRIT( "PRUEBA.XML", cXmlStr )

   // Establecer cabeceras requeridas por el WS

   aadd( aHeader, "Content-Type: application/soap+xml; charset=UTF-8" )
   aadd( aHeader, "SOAPaction=http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync" )
   aadd( aHeader, "Connection: Keep-Alive" )
   aadd( aHeader, "Cache-Control: private" )

   hCurl     := curl_easy_init()
   curl_easy_setopt( hCurl, HB_CURLOPT_URL, cUrl )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYPEER, .f. )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSL_VERIFYHOST, .f. )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSLCERT, cCertFile )
   curl_easy_setopt( hCurl, HB_CURLOPT_SSLCERTTYPE, cCertType )
   curl_easy_setopt( hCurl, HB_CURLOPT_KEYPASSWD, cCertPass )

   curl_easy_setopt( hCurl, HB_CURLOPT_POSTFIELDS, cXmlStr )
   curl_easy_setopt( hCurl, HB_CURLOPT_DL_BUFF_SETUP )
   curl_easy_setopt( hCurl, HB_CURLOPT_HTTPHEADER, aHeader )


   // echo server, para depurar .T.
   curl_easy_setopt( hCurl, HB_CURLOPT_VERBOSE, .T. )
   curl_easy_setopt( hCurl, HB_CURLOPT_ENCODING, "" )
   curl_easy_setopt( hCurl, HB_CURLOPT_MAXREDIRS, 10 )
   curl_easy_setopt( hCurl, HB_CURLOPT_CUSTOMREQUEST, "POST" )

   // No reutilizar conexiones
   curl_easy_setopt( hCurl, HB_CURLOPT_FRESH_CONNECT, .T.)
   curl_easy_setopt( hCurl, HB_CURLOPT_FORBID_REUSE, .T.)
 

   // Conexion
   nError    := curl_easy_perform( hCurl )
   cResponse := curl_easy_dl_buff_get( hCurl )

   if nError == 0
      hb_memowrit( "respuesta.xml", cResponse )
   else
      MSGINFO( curl_easy_strerror( nError ) )
   endif

   curl_easy_cleanup( hCurl )
   curl_global_cleanup()

return

russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by russimicro »

requiero que el header despues de firmado quede asi :

Code: Select all | Expand

	<soap:Header
		xmlns:wsa="http://www.w3.org/2005/08/addressing">
		<wsse:Security soap:mustUnderstand="true"
			xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
			xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
			<wsu:Timestamp wsu:Id="TS-938EB38DEFEBD26652174243018444012">
				<wsu:Created>2025-03-20T00:23:04.440Z</wsu:Created>
				<wsu:Expires>2025-03-20T17:03:04.440Z</wsu:Expires>
			</wsu:Timestamp>
			<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-938EB38DEFEBD2665217424301843837">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</wsse:BinarySecurityToken>
			<ds:Signature Id="SIG-938EB38DEFEBD26652174243018442611"
				xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
				<ds:SignedInfo>
					<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
						<ec:InclusiveNamespaces PrefixList="wsa soap wcf"
							xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</ds:CanonicalizationMethod>
						<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
						<ds:Reference URI="#id-938EB38DEFEBD26652174243018438610">
							<ds:Transforms>
								<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
									<ec:InclusiveNamespaces PrefixList="soap wcf"
										xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
									</ds:Transform>
								</ds:Transforms>
								<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
								<ds:DigestValue>buQfAhluXZsKUO9HlDLCSFgl0MeGNpeG7bWGlApVNL8=</ds:DigestValue>
							</ds:Reference>
						</ds:SignedInfo>
						<ds:SignatureValue>GMgcY6ADnFAlGnWNQqOsOOQDd+WicYhZwabfkWsZlcNiUacKLvpr7+K1akLjls7ZaP6XNj/3LwQOcFWB+it5rwuVbyC7DMGNYDMVih99dz6HiChUggeTZdDO7t+G2e/VHr+BQobqsrhn1Pj4X/WbFu+MFPtwRralxyZvCe/SamkidyQb2aNyXXI6PHZsW507o7aGmAF/MFYAk4b/8xf6QXYnRrkYUWoAsOjAO2vzILl8Lk7ppBCbYa6Q4AUzdsCnDqr9iKgC+nXw40gQ0Q/EeOzV/oSQ9VQDkLcDrYvWG8hsjFYBmF4F+AGfwC5yovuljrvDM82sG+D3yNMcLv+Ofg==</ds:SignatureValue>
						<ds:KeyInfo Id="KI-938EB38DEFEBD2665217424301843858">
							<wsse:SecurityTokenReference wsu:Id="STR-938EB38DEFEBD2665217424301843859">
								<wsse:Reference URI="#X509-938EB38DEFEBD2665217424301843837" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
							</wsse:SecurityTokenReference>
						</ds:KeyInfo>
					</ds:Signature>
				</wsse:Security>
				<wsa:Action>http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync</wsa:Action>
				<wsa:To wsu:Id="id-938EB38DEFEBD26652174243018438610"
					xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">https://vpfe.dian.gov.co/WcfDianCustomerServices.svc
				</wsa:To>
	</soap:Header>
quim_
Posts: 11
Joined: Tue Jan 07, 2025 11:59 am

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by quim_ »

La firma de documentos XML es un tema complejo, necesitas conocer muy bien los requerimientos de la DIAN

Puedes revisar el post que publiqué para entender un poco los formatos a que te enfrentas

viewtopic.php?t=44888

Como he comentado en otras ocasiones, con Chilkat puedes hacer casi de todo, lo que no consigues con las herramientas disponibles en FiveWin y harbour, puedes conseguirlo con Chilkat, además tienes ejemplos en código foxpro o vbasic muy parecido a nuestro codigo

https://tools.chilkat.io/soap_wsdl_gene ... oxpro&mr=f
Fivewinner desde 1.9, programador PHP y Javascript, PWA & HTML5 evangelista
russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by russimicro »

Buen día...

Si he leído tu post...

Y por practicidad creo que la solución es con Chilkat ... seria ver si en el foro podemos comprar la licencia para 4 programadores---

? la lib Chilkat , se puede usar directamente en (x)harbour o tocaría en c ?

Gracias...
russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by russimicro »

Ya estoy usando la dll demo de clilkat.. pero no veo como pasar el certificado p12 para la firma..

Code: Select all | Expand

FUNCTION CLILKAT(cFilNam, xDocB64)


LOCAL loXml
LOCAL lcSoapRequestBody
LOCAL lcEndpoint
LOCAL lcSoapAction
LOCAL lcContentType
LOCAL loHttp
LOCAL loResp
LOCAL loResponseXml
LOCAL lnStatusCode
LOCAL lcV_string
LOCAL lcIsValid
LOCAL lcStatusCode
LOCAL lcStatusDescription
LOCAL lcStatusMessage
LOCAL lcXmlBase64Bytes
LOCAL lcXmlBytes
LOCAL lcXmlDocumentKey
LOCAL lcXmlFileName
local cFilXml

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml')
loXml = CreateObject('Chilkat.Xml')
loXml:Tag = "soap:Envelope"
loXml:AddAttribute("xmlns:soap","http://www.w3.org/2003/05/soap-envelope")
loXml:AddAttribute("xmlns:wcf","http://wcf.dian.colombia")
loXml:UpdateChildContent("soap:Header","")
loXml:UpdateChildContent("soap:Body|wcf:SendBillSync|wcf:fileName",cFilNam)
loXml:UpdateChildContent("soap:Body|wcf:SendBillSync|wcf:contentFile",xDocB64)

* In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required.
loXml:EmitXmlDecl = 0
lcSoapRequestBody = loXml:GetXml()

lcEndpoint = "https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc"
lcSoapAction = "http://wcf.dian.colombia/IWcfDianCustomerServices/SendBillSync"
*  For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
lcContentType = "application/soap+xml"

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

loHttp:ClearHeaders()
loHttp:SetRequestHeader("Content-Type",lcContentType)
loHttp:SetRequestHeader("SOAPAction",lcSoapAction)

loResp = loHttp:PostXml(lcEndpoint,lcSoapRequestBody,"utf-8")
IF (loHttp:LastMethodSuccess = 0)
    alert( loHttp:LastErrorText)
    alert( "Failed to send SOAP request." )
    RELEASE loXml
    RELEASE loHttp
    CANCEL
ENDIF

* Get the XML response body.
* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml')
loResponseXml = CreateObject('Chilkat.Xml')
loResp:GetBodyXml(loResponseXml)

lnStatusCode = loResp:StatusCode
alert( "response status code: " + STR(lnStatusCode) )

RELEASE loResp

cFilXml :=  loResponseXml:GetXml()

hb_memowrit( "respuestaCli.xml", cFilXml )

* If the status code does not indicate succcess, then show the response XML,
* which probably contains error information.
IF (lnStatusCode <> 200)
    alert( cFilXml )
    RELEASE loXml
    RELEASE loHttp
    RELEASE loResponseXml
    CANCEL
ENDIF


* Parse the successful SOAP response XML.

* This is a sample of the response XML, but the namespace prefixes will be different.
* We can parse the result using "*" for the namespace prefixes (see below).

lcV_string = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:ErrorMessage|*:string")
lcIsValid = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:IsValid")
lcStatusCode = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:StatusCode")
lcStatusDescription = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:StatusDescription")
lcStatusMessage = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:StatusMessage")
lcXmlBase64Bytes = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlBase64Bytes")
lcXmlBytes = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlBytes")
lcXmlDocumentKey = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlDocumentKey")
lcXmlFileName = loResponseXml:GetChildContent("*:Body|*:SendBillSyncResponse|*:SendBillSyncResult|*:XmlFileName")

RELEASE loXml
RELEASE loHttp
RELEASE loResponseXml


RETURN cFilXml
russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by russimicro »

Ya pude firmar el xml de envio a la dian con CHILKAT - ActiveX

Ahora estoy mirando con firmar un xml tipo invoice (factura o notas electronicas)
russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by russimicro »

Buen día...

Estuve trabajando el ActiveX de CHILKAT y ya logre los 4 procesos críticos para enviar facturas electrónicas a la DIAN Colombia

1. Creación de XML
2. Firmar XML : INVOICE, CREDITNOTE, ETC
3. Firmar XML de petición o ejecución de WS DIAN
4. Envió de petición o ejecución de WS DIAN (para no usar LIBCURL)
FiveWiDi
Posts: 1267
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 4 times
Been thanked: 10 times

Re: LIB CURL + HARBOUR + BCC 7.7 (SOLUCIONADO)

Post by FiveWiDi »

russimicro wrote: Fri Mar 21, 2025 11:43 am Buen día...

Estuve trabajando el ActiveX de CHILKAT y ya logre los 4 procesos críticos para enviar facturas electrónicas a la DIAN Colombia

1. Creación de XML
2. Firmar XML : INVOICE, CREDITNOTE, ETC
3. Firmar XML de petición o ejecución de WS DIAN
4. Envió de petición o ejecución de WS DIAN (para no usar LIBCURL)
Hola a todos,

No estoy muy al corriente del proceso para Colombia pero:

1. Creación de XML -->> precisa de firma?
2. Firmar XML : INVOICE, CREDITNOTE, ETC -->> Para España creo que se puede hacer por comandos con Autofirma, creo que podría valer para Colombia (se trata de firmar un fichero con una firma digital, entiendo).
3. Firmar XML de petición o ejecución de WS DIAN -->> Esto lo desconozco.
4. Envió de petición o ejecución de WS DIAN (para no usar LIBCURL) -->> Yo los envío con CURL.EXE bajado de la red; por tanto me desvinculo del programa por si hay actualizaciones futuras de Windows o de no sé qué, y fuercen a recompilar el programa; sería suficiente con buscar la versión adecuada de CURL.EXE

Cuantas más utilidades estén fuera del programa mejor.
Hay quién aún está usando mi programa de hace 23 años (en pesetas y euros), gracias a no tener cosas 'complicadas' en él. Hoy en día compilado con FWH 25.01 32b y quizás este año a 64b. Pero no me pidan cosas bonitas.
Un Saludo
Carlos G.

FiveWin 25.01 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 10
User avatar
wilsongamboa
Posts: 621
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador
Has thanked: 1 time
Been thanked: 5 times

Re: LIB CURL + HARBOUR + BCC 7.7 (AHORA SOLUCION CHILKAT - ACTIVEX)

Post by wilsongamboa »

buenas tardes para mi la clave esta en firmar el XML con una firma electronica el resto ya hay ejemplos sencillos con harbour
en mi pais Ecuador yo tuve que comprar un componente activex hecho en c# que me firma
Seria de agradecer si ponen ejemplos con la aotufirma con chilkat con openssl ya que si podemos controlar nosotros todo el rpoceso mucho mejor ya que a veces hay cambios inesperados de la parte tributaria y toca iniciar de nuevo con otro producto en firmado de xml
saludos
y se agradece de antemano
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
russimicro
Posts: 288
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: LIB CURL + HARBOUR + BCC 7.7 (AHORA SOLUCION CHILKAT - ACTIVEX)

Post by russimicro »

Post Reply