FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error R6025 on SoapSerializer object end
Posts: 2
Joined: Wed Nov 03, 2010 10:06 AM
Error R6025 on SoapSerializer object end
Posted: Wed Nov 03, 2010 05:12 PM
Hi !
I have a problem when my application try to finalize the SoapSerializer object.
The error is:

Microsoft Visual C++ Runtime Library
Runtime error!
R6025
- pure virtual function call

Does anybody can help me?
Thanks in advance.


Code (fw): Select all Collapse
/////////
FUNCTION NFe_Comunica()
/////////
LOCAL oCertificado
LOCAL oSoapConnector
LOCAL oSoapReader
LOCAL oSoapSerializer
LOCAL cXML_SOAP

oCertificado    := CREATEOBJECT( "CAPICOM.Certificate"     )
oSoapConnector  := CREATEOBJECT( "MSSOAP.HttpConnector30"  )
oSoapReader     := CREATEOBJECT( "MSSOAP.SoapReader30"     )
oSoapSerializer := CREATEOBJECT( "MSSOAP.SoapSerializer30" )

// Load certificate (supressed by security)
oCertificado:Load( "XXXXX.pfx", "PPPPP", 0, 0 )

// Make a XML to communicate through SOAP
cXML_SOAP := '<nfeStatusServicoNF xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico">'
cXML_SOAP += '<nfeCabecMsg>'
//<?xml version="1.0" encoding="UTF-8"?><cabecMsg xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.02"><versaoDados>1.07</versaoDados></cabecMsg>
cXML_SOAP += '<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?><cabecMsg xmlns=&quot;http://www.portalfiscal.inf.br/nfe&quot; versao=&quot;1.02&quot;><versaoDados>1.07</versaoDados></cabecMsg>'
cXML_SOAP += '</nfeCabecMsg><nfeDadosMsg>'
//<?xml version="1.0" encoding="UTF-8"?><consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.07"><tpAmb>1</tpAmb><cUF>35</cUF><xServ>STATUS</xServ></consStatServ>
cXML_SOAP += '<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?><consStatServ xmlns=&quot;http://www.portalfiscal.inf.br/nfe&quot; versao=&quot;1.07&quot;><tpAmb>1</tpAmb><cUF>35</cUF><xServ>STATUS</xServ></consStatServ>'
cXML_SOAP += '</nfeDadosMsg>'
cXML_SOAP += '</nfeStatusServicoNF>'
 

// Make the SOAP message
oSOAPConnector:Property( "EndPointURL", "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico.asmx?WSDL")
oSOAPConnector:Property( "SoapAction" , "http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico/nfeStatusServicoNF" )
oSOAPConnector:Property( "UseSSL"     , .T. )
oSOAPConnector:Property( "SSLClientCertificateName", oCertificado:GetInfo( 0 ) )
//oSOAPConnector:Connect()
//oSOAPConnector:BeginMessage()
oSOAPSerializer:Init( oSOAPConnector:InputStream )
oSOAPSerializer:StartEnvelope( "soap" )
    oSOAPSerializer:StartBody()
       oSOAPSerializer:WriteXML( cXML_SOAP )
    oSOAPSerializer:EndBody()
oSOAPSerializer:EndEnvelope()
oSOAPSerializer:Finished()
//oSOAPConnector:EndMessage()
oSOAPReader:Load( oSOAPConnector:OutputStream )
 

cXML_Retorno := oSOAPReader:Body:XML
MEMOEDIT( cXML_Retorno )      // This returns correctly
 
oCertificado    := NIL
oSoapReader     := NIL
Alert( "Checkpoint 1" )
/////////// Here I got the error message, even trying RELEASE or OleReleaseObject methods
/////////// If  I comment this line below, the error occurs on RETURN
oSoapSerializer := NIL              
Alert( "Checkpoint 2" )
oSoapConnector  := NIL
RETURN ( cXML_Retorno )
Posts: 2
Joined: Wed Nov 03, 2010 10:06 AM
Re: Error R6025 on SoapSerializer object end
Posted: Thu Nov 04, 2010 05:03 PM
Folks, I found the solution!

Code (fw): Select all Collapse
oSoapSerializer:hObj := NIL
oSoapSerializer := NIL
oSoapConnector:hObj := NIL
oSoapConnector := NIL


Thanks even so...

Continue the discussion