Como todo bom novato, estou com uma dificuldade e necessito da ajuda de vocês.
Preciso enviar um algumas informações via Web Service e dentre essas informações, está um arquivo xml (schema file). Como faço isso ?
Código: Selecionar todos
// Aqui eu monto as informações para a requisição do POST
METHOD TopVendas_EnviaNFe() CLASS TObjectPro
********************************************************************************
::cServico := "/v1/nfe?cnpj=" + alltrim(::cnpj) + ;
"?chave=" + ::chavenfe + ;
"?dtnfe=" + ::dtnfe + ;
"?total=" + alltrim(str(::totalnfe)) + ;
"?xml=" + ::xml // A variável xml contém uma string com o XML da nota, mas não é dessa forma.
::cTipo := 'POST'
::XmlSoapPost()
Return
METHOD XmlSoapPost() CLASS TObjectPro
********************************************************************************
Local oServer, nPos := 0
oServer:=CreateObject( "MSXML2.ServerXMLHTTP")
oServer:Open( ::cTipo, alltrim(::cUrl)+::cServico , .f. )
oServer:setRequestHeader("Authorization", "Bearer " + alltrim(::token) )
oServer:SetRequestHeader("Content-Type" , "application/json" )
oServer:setRequestHeader("User-Agente" , "meu_sistema" )
oServer:setRequestHeader("Versao" , ::versao )
TRY
oServer:Send(::cEnvio)
oServer:WaitForResponse( 1000 )
CATCH
::cCode := 503
nPos := aScan( aCode, {|x| x[1] == ::cCode } )
::cMsg := aCode[nPos,2]
return
END
::cCode := oServer:status
nPos := aScan( aCode, {|x| x[1] == ::cCode } )
If nPos > 0
::cMsg := aCode[nPos,2]
Else
::cMsg := 'CÓDIGO DE RETORNO NÃO ENCONTRADO '+STR(::cCode,3)
EndIf
hb_jsonDecode( oServer:ResponseBody, @::aResultado )
ReturnxHarbour 1.2.3 + HWGui


