SEND - DISP_E_MEMBERNOTFOUND
Moderador: Moderadores
SEND - DISP_E_MEMBERNOTFOUND
Bom dia Pessoal,
Sou novo no harbour e estou com uma dúvida que talvez vcs possam me ajudar.
Estou tentando enviar arquivo no formato "Txt" via requisição http. Meu programa gera o arquivo no formato texto e joga pra memoria utilizando o MemoRead. Em seguida, crio um objeto MSXML2.ServerXMLHTTP para funcionar com uma API para conexão com o destinatário. A conexão está sendo estabelecida, mas apresenta o seguinte erro:
Description .......: DISP_E_MEMBERNOTFOUND
Operation .........: SEND
Segue parte do codigo :
var = MemoRead(file) //o file é um arquivo texto
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( "POST", 'aqui o endereço http de destino...' , .f. )
oServer:setRequestHeader( "cabeçalho" , "text/txt" )
oServer:Send(var)
grato.
Sou novo no harbour e estou com uma dúvida que talvez vcs possam me ajudar.
Estou tentando enviar arquivo no formato "Txt" via requisição http. Meu programa gera o arquivo no formato texto e joga pra memoria utilizando o MemoRead. Em seguida, crio um objeto MSXML2.ServerXMLHTTP para funcionar com uma API para conexão com o destinatário. A conexão está sendo estabelecida, mas apresenta o seguinte erro:
Description .......: DISP_E_MEMBERNOTFOUND
Operation .........: SEND
Segue parte do codigo :
var = MemoRead(file) //o file é um arquivo texto
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( "POST", 'aqui o endereço http de destino...' , .f. )
oServer:setRequestHeader( "cabeçalho" , "text/txt" )
oServer:Send(var)
grato.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SEND - DISP_E_MEMBERNOTFOUND
Vamos começar pelo seguinte, há 4 variações da "linguagem":cMach escreveu:Sou novo no harbour e estou com uma dúvida que talvez vcs possam me ajudar.
- Harbour 3.0 - a distribuição oficial parou no 3.0, muitos se confundem e começam por essa
- Harbour 3.2 - é o oficial, talvez o mais usado
- Harbour 3.4 - é uma distribuição que se separou do 3.2, contém algumas diferenças com relação ao 3.2
- XHarbour - é uma distribuição que se separou há muito tempo do Harbour, e seguiu caminho diferente
O erro que mencionou já apareceu por aqui, mas no XHarbour, e pela mensagem de erro parece ser ele mesmo.
No XHarbour há uma diferença ao usar o CreateObject(), conforme o conjunto de ferramentas que se usa junto com ele.
Eu não uso XHarbour, mas pelo que já comentaram por aqui, é substituir o CreateObject() por outra função.
Basicamente, ao usar oServer := CreateObject( "MSXML2.ServerXMLHTP" ), o vínculo não foi criado corretamente.
E ao tentar usar o objeto oServer, não encontrou o método Send() que deveria fazer parte dele.
Pode ser a exigência de versão "MSXML2.ServerXMLHTTP.6.0"
Também pode ser a necessidade de usar xhb_CreateObject() que está neste fonte
https://github.com/JoseQuintas/sefazcla ... object.prg
Como eu disse, eu NÃO uso XHarbour, pode testar o uso desta função ou aguardar a confirmação de alguém que use XHarbour e esteja mais familiarizado com isso.
Se está apenas começando, pode pensar na alternativa de usar o Harbour 3.2 ou 3.4.
Mas se seus fontes já tem dependência com XHarbour, pode ser mais viável apenas contornar esse problema e continuar com ele.
Comece testando a indicação de versão: "MSXML2.ServerXMLHTTP.6.0" ou "MSXML2.ServerXMLHTTP.5.0"
Depois o uso do fonte que mencionei.
Pode ser interessante também passar mais detalhes sobre o que está usando, se é apenas XHarbour, se é um download que veio com XHarbour junto, etc. assim quem usa igual pode dar uma ajuda mais direcionada ao seu conjunto de desenvolvimento.
É que isso pode ser diferente no Harbour, XHarbour, XHarbour com Fivewin, XHarbour com HMG, etc. por isso acaba precisando mais detalhes.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
SEND - DISP_E_MEMBERNOTFOUND
Olá José, A versão que utilizo aqui é o xHarbour.
Vou dar uma olhada no link que colocou e já posto o resultado.
Desde já agradeço.
Vou dar uma olhada no link que colocou e já posto o resultado.
Desde já agradeço.
SEND - DISP_E_MEMBERNOTFOUND
Olá,
Comece testando a indicação de versão:
"MSXML2.ServerXMLHTTP.6.0"
Mesmo erro...SEND - DISP_E_MEMBERNOTFOUND
"MSXML2.ServerXMLHTTP.5.0"
Operation .........: TOLEAUTO:NEW
[ 1] = Type: C Val: MSXML2.ServerXMLHTTP.5.0 [ 2] = Type: U [ 3] = Type: U
Comece testando a indicação de versão:
"MSXML2.ServerXMLHTTP.6.0"
Mesmo erro...SEND - DISP_E_MEMBERNOTFOUND
"MSXML2.ServerXMLHTTP.5.0"
Operation .........: TOLEAUTO:NEW
[ 1] = Type: C Val: MSXML2.ServerXMLHTTP.5.0 [ 2] = Type: U [ 3] = Type: U
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
SEND - DISP_E_MEMBERNOTFOUND
Tente assim:
Saudações.
Código: Selecionar todos
FUNCTION Van_Server()
LOCAL oServer
//1) Criar o servidor
#ifdef __XHARBOUR__ // xHarbour
Try
oServer := CreateObject( "MSXML2.ServerXMLHTTP.6.0" )
Catch
MsgInfo( 'Erro na Criação do Serviço' )
RETURN NIL
End
#else // Harbour
Try
oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0" )
Catch
MsgInfo( 'Erro na Criação do Serviço!', 'Atenção!' )
RETURN NIL
End
#endif
Try
//2) Abrir o servidor
oServer:Open( "POST", cWebService, .F. )
//3) Adicionar o request header
oServer:SetRequestHeader("Content-Type","application/json")
oServer:SetRequestHeader( "Username" , "&sUser")
oServer:SetRequestHeader( "Password" , "&sPassword")
oServer:Send()
oServer:WaitForResponse( 10000 )
Catch
MsgInfo( 'Erro na conexão com o site!', 'Atenção!' )
End
// continua
RETURN Nil
SEND - DISP_E_MEMBERNOTFOUND
Kapiaba,
Tentei da forma que voce enviou, alterando apenas o SEND() pois preciso enviar nele o arquivo texto.
Assim eu jogo para memoria com o memoread e envio no send.
arquivo = MemoRead(arq_txt)
..
send(arquivo)
Mas ainda ocorre o mesmo erro :
Description .......: DISP_E_MEMBERNOTFOUND
Operation .........: SEND
grato,
Tentei da forma que voce enviou, alterando apenas o SEND() pois preciso enviar nele o arquivo texto.
Assim eu jogo para memoria com o memoread e envio no send.
arquivo = MemoRead(arq_txt)
..
send(arquivo)
Mas ainda ocorre o mesmo erro :
Description .......: DISP_E_MEMBERNOTFOUND
Operation .........: SEND
grato,
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SEND - DISP_E_MEMBERNOTFOUND
Kapiaba
Se não me engano você usa Fivewin
Consegue identificar se é o Fivewin que contém essa função corrigida, ou se é o XHarbour do Fivewin que está corrigido?
Talvez compilar com -p pra gerar o .ppo e ver no fonte se é o CreateObject(), ou se está direcionando pra outra função, seria um começo.
Dependendo do resultado, pode ser interessante distribuir o XHarbour do Fivewin - sem o Fivewin não seria pirataria.
Se não me engano você usa Fivewin
Consegue identificar se é o Fivewin que contém essa função corrigida, ou se é o XHarbour do Fivewin que está corrigido?
Talvez compilar com -p pra gerar o .ppo e ver no fonte se é o CreateObject(), ou se está direcionando pra outra função, seria um começo.
Dependendo do resultado, pode ser interessante distribuir o XHarbour do Fivewin - sem o Fivewin não seria pirataria.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
SEND - DISP_E_MEMBERNOTFOUND
.PPO gerado pelo xHarbour.
Código: Selecionar todos
FUNCTION _XmlQuery()
LOCAL cURL := "https://www.google.com", ;
cSaveAs := "c:\winapps\onasset\xml\inbox\", lPass := .F., ;
oProg := 0, oHttpSend2 := "", oHttp2, cHttpSend3 := "", ;
oHttp3, cWinR, cWinResp := "", cTokenId := "", ;
cDateFrom := "", cDateTo := "", aTokenResponse := {}, nUpdate := 0
cSaveAs += DTOS( DATE() ) + LEFT( TIME(), 2 ) + SUBSTR( TIME(), 4, 2 ) + RIGHT( TIME(), 2 ) + ".XML"
Try
oHttp2 := CreateObject( "MSXML2.ServerXMLHTTP.6.0" )
Catch
MsgInfo( "Erro na Criação do Serviço" )
RETURN .F.
End
TRY
oHttp2:Open( "POST", cURL, .F. )
oHttp2:SetRequestHeader( "Content-Type", "application/json" )
cHttpSend2 := "grant_type=client_credentials&client_id=x&client_secret=x"
oHttp2:Send( cHttpSend2 )
Sysrefresh()
cWinResp := oHttp2:ResponseBody
nPos := AT( "ACCESS_TOKEN", UPPER( cWinResp ) )
lStart := .F.
FOR nX0 = nPos TO LEN( cWinResp )
cChar := SUBSTR( cWinResp, nX0, 1 )
IF cChar == ":"
lStart := .T.
ELSE
IF cChar == ","
EXIT
ELSE
IF lStart .AND. ( ! EMPTY( cChar ) )
IF cChar <> CHR( 34 )
cTokenId += cChar
ENDIF
ENDIF
ENDIF
ENDIF
NEXT
cDate0 := DTOS( DATE() - 1 )
cDate1 := DTOS( DATE() )
nTime1 := VAL( LEFT( TIME(),2 ) ) - 23
IF ( nTime1 < 1 )
nTime1 := 0
ENDIF
cTime1 := RIGHT( "00" + LTRIM( STR(nTime1,9 ) ), 2 ) + SUBSTR( TIME(), 3 )
cTime2 := TIME()
cDateFrom := LEFT( cDate0, 4 ) + "-" + SUBSTR( cDate0, 5, 2 ) + "-" + RIGHT( cDate0, 2 ) + "T" + cTime1 + "Z"
cDateTo := LEFT( cDate1, 4 ) + "-" + SUBSTR( cDate1, 5, 2 ) + "-" + RIGHT( cDate1, 2 ) + "T" + cTime2 + "Z"
cURL := "https://xxx.com/yyy/1/zzz/000/devicereports?from=" + cDateFrom + "&to=" + cDateTo + "&page=1&pageSize=500"
CATCH
DbCloseAll()
__Quit()
END
oHttp2 := NIL
Try
oHttp3 := CreateObject( "MSXML2.ServerXMLHTTP.6.0" )
Catch
MsgInfo( "Erro na Criação do Serviço" )
RETURN .F.
End
oHttp3:Open( "GET", cURL, .F. )
oHttp3:SetRequestHeader( "Content-Type", "application/json" )
oHttp3:SetRequestHeader( "Authorization", "Bearer " + cTokenId )
Sysrefresh()
oHttp3 := NIL
RETURN ( nUpdate )
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SEND - DISP_E_MEMBERNOTFOUND
A função é a mesma.
Só falta saber de que LIB ela vém.
Se for do XHarbour, significaria que o XHarbour do Fivewin está corrigido diferente dos demais.
Não sei se dá pra testar fácil, adicionando só o que faz parte do XHarbour pra ver se está ok, e adicionando uma LIB por vez pra ver se vém de outro lugar.
Só falta saber de que LIB ela vém.
Se for do XHarbour, significaria que o XHarbour do Fivewin está corrigido diferente dos demais.
Não sei se dá pra testar fácil, adicionando só o que faz parte do XHarbour pra ver se está ok, e adicionando uma LIB por vez pra ver se vém de outro lugar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
SEND - DISP_E_MEMBERNOTFOUND
bom dia Colegas!
Mudei o CreateObject("Microsoft.XmlHttp") e o erro o DISP_E_MEMBERNOTFOUND parou.
Tanto o MSXML2.ServerXMLHTTP, quanto o MSXML2.ServerXMLHTTP.6.0 apresentavam o mesmo erro.
vou testar agora porq não tá trazendo retorno.
valeu pessoal
Mudei o CreateObject("Microsoft.XmlHttp") e o erro o DISP_E_MEMBERNOTFOUND parou.
Tanto o MSXML2.ServerXMLHTTP, quanto o MSXML2.ServerXMLHTTP.6.0 apresentavam o mesmo erro.
vou testar agora porq não tá trazendo retorno.
valeu pessoal
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SEND - DISP_E_MEMBERNOTFOUND
Alterando maiúsculas/minúsculas? XmlHttpcMach escreveu:Mudei o CreateObject("Microsoft.XmlHttp") e o erro o DISP_E_MEMBERNOTFOUND parou.
Agora confundiu mais ainda.
Ficou diferente de tudo que existe.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SEND - DISP_E_MEMBERNOTFOUND
Existem algumas variações do componente:
MSXML2.XMLHTTP
Microsoft.XMLHTTP
MSXML2.ServerXMLHTP
Não me pergunte qual a diferença entre eles.
Mas em todos os manuais da Microsoft, todos aparecem como maiúscula a parte XMLHTTP.
MSXML2.XMLHTTP
Microsoft.XMLHTTP
MSXML2.ServerXMLHTP
Não me pergunte qual a diferença entre eles.
Mas em todos os manuais da Microsoft, todos aparecem como maiúscula a parte XMLHTTP.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
SEND - DISP_E_MEMBERNOTFOUND
Veja se ajuda:
Código: Selecionar todos
#include "fivewin.ch"
#include "dbcombo.ch"
#include "directry.ch"
#include "common.ch"
#include "hbclass.ch"
#include "objects.ch"
#include "hbxml.ch"
#include "hbcompat.ch"
#include "fileio.ch"
#define _MSXML2_DOMDocument 'MSXML2.DOMDocument.5.0'
#define _MSXML2_MXDigitalSignature 'MSXML2.MXDigitalSignature.5.0'
#define _MSXML2_XMLSchemaCache 'MSXML2.XMLSchemaCache.5.0'
#define _MSXML2_ServerXMLHTTP 'MSXML2.ServerXMLHTTP.5.0'
#define PROV_RSA_FULL 1
#define PROV_RSA_SIG 2
#define PROV_DSS 3
#define PROV_FORTEZZA 4
#define PROV_MS_EXCHANGE 5
#define PROV_SSL 6
#define PROV_RSA_SCHANNEL 12
#define PROV_DSS_DH 13
#define PROV_EC_ECDSA_SIG 14
#define PROV_EC_ECNRA_SIG 15
#define PROV_EC_ECDSA_FULL 16
#define PROV_EC_ECNRA_FULL 17
#define PROV_DH_SCHANNEL 18
#define PROV_SPYRUS_LYNKS 20
#define PROV_RNG 21
#define PROV_INTEL_SEC 22
#define PROV_REPLACE_OWF 23
#define PROV_RSA_AES 24
// Capicom store names
#define _CAPICOM_MEMORY_STORE 0
#define _CAPICOM_LOCAL_MACHINE_STORE 1
#define _CAPICOM_CURRENT_USER_STORE 2
#define _CAPICOM_ACTIVE_DIRECTORY_USER_STORE 3
#define _CAPICOM_SMART_CARD_USER_STORE 4
// Capicom store open mode
#define _CAPICOM_STORE_OPEN_READ_ONLY 0 // Abre repositorio do windows em modo leitura
#define _CAPICOM_STORE_OPEN_READ_WRITE 1
#define _CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED 2
#define _CAPICOM_STORE_OPEN_EXISTING_ONLY 128
#define _CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED 256
// Capicom certificates find type enums
#define _CAPICOM_CERTIFICATE_FIND_SHA1_HASH 0
#define _CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME 1
#define _CAPICOM_CERTIFICATE_FIND_ISSUER_NAME 2
#define _CAPICOM_CERTIFICATE_FIND_ROOT_NAME 3
#define _CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME 4
#define _CAPICOM_CERTIFICATE_FIND_EXTENSION 5
#define _CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY 6
#define _CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY 7
#define _CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY 8
#define _CAPICOM_CERTIFICATE_FIND_TIME_VALID 9
#define _CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID 10
#define _CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED 11
#define _CAPICOM_CERTIFICATE_FIND_KEY_USAGE 12
#define _CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE 0x00000080 // Permitir o uso da Chave Privada para assinatura Digital
#define _CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME 0 // Este atributo contém o tempo em que a assinatura foi criada.
#define _CAPICOM_INFO_SUBJECT_SIMPLE_NAME 0 // Retorna o nome de exibição do certificado.
#define _CAPICOM_ENCODE_BASE64 0 // Os dados são guardados como uma string base64-codificado.
#define _CAPICOM_E_CANCELLED -2138568446 // A operação foi cancelada pelo usuário.
#define _CAPICOM_E_STORE_EMPTY -2138570191 // Enum que indica se o repositorio esta vazio
#define _CERT_KEY_SPEC_PROP_ID 6
#define _CAPICOM_CERT_INFO_ISSUER_EMAIL_NAME 0
#define _SIG_KEYINFO 0 // 0 - NOKEYINFO ; 1- KEYVALUE ; 2- CERTIFICATES ; 4- PURGE
#define _CAPICOM_HASH_ALGORITHM_SHA1 0 // algoritmo de criptografia SHA-1
#define DC_CALL_STD 0x0020
STATIC pastaEnv, pastaRet, pastaXSD, cXML, cFileName, cCertCN, oServerWS
STATIC cUrl, cSoapAct, bOleInitialized := .F.
FUNCTION EnviarConsulta( oRec )
LOCAL cXml, cSoapAction, cWebservice, cOperation, cRetorno, cxlido
LOCAL oXML
cWebservice := "https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/consultarloteeventos/WsConsultarLoteEventos.svc"
cSoapAction := "http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/consulta/retornoProcessamento/v1_1_0/ServicoConsultarLoteEventos/ConsultarLoteEventos"
cOperation := "ConsultarLoteEventos"
cXml := '<eSocial xmlns="http://www.esocial.gov.br/schema/lote/eventos/envio/consulta/retornoProcessamento/v1_0_0">'
cXml += '<consultaLoteEventos>'
cXml += '<protocoloEnvio>1.2.201707.0000000000000056672</protocoloEnvio>'
cXml += '</consultaLoteEventos>'
cXml += '</eSocial>'
cXml := SoapEnvelope( cXml, cOperation ) //
oXML := TXMLDocument():New( cXml, HBXML_STYLE_NOESCAPE )
IF oXML:nError != HBXML_ERROR_NONE
MsgAlert( "xml com problema " + Str( oXML:nError ) )
ENDIF
cRetorno := MicrosoftXmlSoapPost( cXml, cSoapAction, cWebservice )
MemoWrit( '.\retorno.xml', cRetorno )
MsgAlert( cRetorno )
RETURN Nil
FUNCTION MicrosoftXmlSoapPost( cXmlSoap, cSoapAction, cWebService )
LOCAL oServer, oDOMDoc, oError
LOCAL nCont
LOCAL cRetorno := "*ERRO*", cXmlRetorno := ""
oServer := CreateObject( "MSXML2.ServerXMLHTTP" )
oServer:Open( "POST", cWebService, .F. )
oServer:SetRequestHeader( "SOAPAction", cSoapAction )
oServer:SetRequestHeader( "Content-Type", "text/xml; charset=utf-8" )
oDOMDoc = CREATEOBJECT( "MSXML2.DOMDocument" )
oDOMDoc:async = .F.
oDOMDoc:validateOnParse = .T.
oDOMDoc:resolveExternals := .F.
oDOMDoc:preserveWhiteSpace = .T.
oDOMDoc:LoadXML( cXmlSoap )
IF oDOMDoc:parseError:errorCode <> 0
MsgAlert( 'Erro: xML nao carregado' + CRLF + 'Erro: ' + ToString( oDOMDoc:parseError:Reason ) + ' Posição: ' + ToString( oDOMDoc:parseError:linepos ) )
RETURN Nil
ENDIF
TRY
oServer:send( oDOMDoc:xml )
CATCH oError
MsgAlert( 'Falha no envio do xML' )
RETURN Nil
END
cRetorno := oServer:responseText
IF ValType( cRetorno ) == "C"
cXmlRetorno := cRetorno
ELSEIF cRetorno == NIL
cXmlRetorno := "*ERRO*"
ELSE
cXmlRetorno := ""
FOR nCont = 1 TO Len( cRetorno )
cXmlRetorno += Chr( cRetorno[ nCont ] )
NEXT
ENDIF
RETURN cXmlRetorno
FUNCTION ToString( xValue )
RETURN iif( xValue == NIL, "", xValue )
FUNCTION SoapEnvelope( cXml, cOperation )
LOCAL cXmlEnvelope
cMethod := "ConsultarLoteEventos"
cXmlEnvelope := '<?xml version="1.0" encoding="utf-8"?>'
cXmlEnvelope += '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">'
cXmlEnvelope += '<soap:Header/>'
cXmlEnvelope += '<soap:Body>'
cXmlEnvelope += cXml
cXmlEnvelope += '</soap:Body>'
cXmlEnvelope += '</soap:Envelope>'
MemoWrit( '.\vai.xml', cXmlEnvelope )
RETURN cXmlEnvelope
FUNCTION XmlTag( cNome, cConteudo )
IF Empty( cConteudo )
RETURN "<" + cNome + " />"
ENDIF
RETURN "<" + cNome + ">" + cConteudo + "</" + cNome + ">"
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
SEND - DISP_E_MEMBERNOTFOUND
Pelo contrário, pode complicar mais ainda.Kapiaba escreveu:Veja se ajuda:
O Windows tem o XML 3.0, 4.0 e.... 6.0
A versão 5.0, que usamos pra nota eletrônica, só saiu com o Office, e não tem no Windows a não ser que seja instalada.
Código: Selecionar todos
MSXML2.ServerXMLHTTP.5.0
Pra testes de uso geral, melhor testar com o 6.0
Ou, se possível, sem número de versão, para que seja selecionado automático conforme a necessidade.
Sobre aqueles outros componentes variados...
https://pt.switch-case.com/51019024
Ele dá uma explicação técnica de problemas... e garante que é pra usar... o que ele teve problemas.
Só rindo mesmo....
Foi-se o tempo que internet resolvia dúvidas... agora parece que elas só aumentam.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
