Skip to content

Instantly share code, notes, and snippets.

{
ANNAEXEC: 'O6VMaT2M9Pk=',
ExecutionCompanyHash: 'Fmg7HPvMqouPQZ8/6VrGsw==',
ExecutionPhoneNumber: 'XAWHNurb7eQRxbA/vuC09Q==',
ExecutionCallBackURL: 'iyBQkEoEQNC9RAOAxkKum8BjbXxYbXsbJXQMyF+DaQ53LIss4fn9rvT49JgrTzyZ',
ExecutionCallBackMsg: 'Bd8DPpCC570=',
Place: 'aNwsjalhzHnZc0UvMjt8CA==',
PhoneNumber: 'XAWHNurb7eQRxbA/vuC09Q==',
ModuleCode: 'Sz6v/rW70phOMIESfT5Xag==',
GoMenu: 'U4gcotTDnGg='
{
"ANNAEXEC": "rhGY1xiNqEL=",
"LASTANSWER": {
"ClientStatus": "OK",
"ClientMessage": "",
"Containers": [
{
"Type": "WS",
"Phrase": "",
"Alias": "TqEU8cbSn_WS6UihRUqA3_",
Parm(in:&LogType,in:&LogUser,in:&LogDescription);
for each
order (TEC_AnnaLogSeq)
defined by TEC_AnnaLogType
&newTEC_AnnaLogSeq = TEC_AnnaLogSeq + 1
exit
when none
&newTEC_AnnaLogSeq = 1
Sem parm
main program = true
call protocol = HTTP
java try{
TEC_AnnaGravaLog.Call('ANNAINTEGRATIONLOG','',&Pgmname+ ' / "CALLBACK"')
&AuxVar = &HttpRequest.GetVariable(!"CALLBACK")
&CallBackCollection.FromJson(&AuxVar)
if &CallBackCollection.Count = 0
Parm(in:&InInputString, out:&Key);
&InputString = &InInputString.TrimStart().TrimEnd()
java String myStringVar = [!&InputString!];
java try {
java java.security.MessageDigest algorithm = java.security.MessageDigest.getInstance("SHA-1");
java byte messageDigest[] = algorithm.digest(myStringVar.getBytes("UTF-8"));
java [!&Key!] = br.com.delsoftsistemas.comum.Base64.encodeBytes(messageDigest);
java } catch (Exception ex) {
parm(out:&CallHash);
&Agora = now()
&AgoraStr = &Agora.Year().ToString().Trim()
&AgoraStr += substr(trim(str(&Agora.Month() + 100)),2,2)
&AgoraStr += substr(trim(str(&Agora.Day() + 100)),2,2)
&AgoraStr += substr(trim(str(&Agora.Hour() + 100)),2,2)
&AgoraStr += substr(trim(str(&Agora.Minute() + 100)),2,2)
&AgoraStr += substr(trim(str(&Agora.Second() + 100)),2,2)
&RandomStr = trim(str(int(Random()*9)))
Parm(
in:&WSPlace,
inout:&NextPlace,
inout:&Saudacao,
inout:&CallHash,
out:&json_out);
do 'AnnaParametros'
&LinkWSIntegracao = &TEC_AnnaParamWSIntegracao
&LinkWSCallBack = &TEC_AnnaParamWSCallBack
Parm(In:&Text, In:&Key, In:&IV, Out:&OutText);
//Encrypted using the TripleDES algorithm using CBC mode (Cipher Block Chaining).
&OutText = &DelsoftTripleDES.gxencrypt(&Text, &Key, &IV)
Parm(In:&Text, In:&Key, In:&IV, Out:&OutText);
//Decrypted using the TripleDES algorithm using CBC mode (Cipher Block Chaining).
&OutText = &DelsoftTripleDES.gxdecrypt(&Text, &Key, &IV)
Parm(In: &Json, In: &EncKEY, In: &DecKEY, In: &IV, Out: &StringResponse);
&NewIV = &DelsoftTripleDES.gxcriaIvDummy()
&NewIVCript = TEC_AnnaEncryptTripleDES.Udp(&NewIV, &DecKEY, &IV)
&Retorno = TEC_AnnaEncryptTripleDES.Udp(&Json, &EncKEY, &NewIV)
&StringResponse = &Retorno + '' + &IV + '' + &NewIVCript