Run chgjob ccsid(37) interactively in Qshell. You will get that same error. That is not a Qshell command. That is an IBM I command. What is your job CCSID to start with?
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Rishi Seth
Sent: Monday, November 04, 2019 7:39 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: parsing varying length field from XML file using RPGLE program
ok,after few corrections:-
Decrypted value using AES128 algorithm from a input xml file using RPGLE
program:-
Hi,
When I am trying to read input xml file which has 'encodedexchangetoken'
value in it then using AES128 algorithm interactively it works well like 1) i issue chgjob ccsid(37) 2) then call qsys/qp2term 3) then i execute this command :- echo 'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL
93B4iKiODHxxdVA==' | openssl enc -d -aes-128-ecb -K
363631653237354f494d31554
c594c4a -nopad -nosalt -base64 -A
which gives me decrypted value as
"707fbe32-0dbc-41e0-888f-5bc40de8c20d2P9AMPCTQ4CZ"
so the same functionality when i am trying to achieve using below RPGLE program it gives me this error which i get during debug the value of record
field:-
revious debug expressions
EVAL record
RECORD =
....5...10...15...20...25...30...35...40...45...50...55...60
1 '/qopensys/usr/bin/sh: syntax error at line 1 : `(' unexpecte'
61 'd '
121 ' '
181 ' '
241 ' '
301 ' '
361 ' '
421 ' '
481 ' '
541 ' '
601 ' '
More...
Debug . . .
*********************''
RPGLE Program:-
FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD') F PLIST(UNIXPARM) usropn FQSYSPRT O F 132 PRINTER dencodedExcha...
dngeToken s 88
D cmd s 5000a
D mode s 1A inz('P')
D record ds 1000
D outrec ds 132
C UNIXPARM PLIST
C PARM CMD
C PARM MODE
/free
XML-INTO encodedExchangeToken %XML('/home/I0RS01HU/+ /INPUT.xml':'doc=file case=any path=+ TokenExchangeResponse/encodedExchangeToken');
cmd = 'chgjob ccsid(37)&& +
echo ''' + encodedExchangeToken +''' ö openssl + enc -d -aes-128-ecb -K + 363631653237354f494d31554c594c4a -nopad -nosalt +
-base64 -A -out record';
open UNIX;
read UNIX record;
dow not %eof(UNIX);
outrec = record;
write QSYSPRT outrec;
read UNIX record;
enddo;
close UNIX;
*inlr = *on;
/end-free
Note :- ö it's a pipe symbol during iseries trnsfer to pc it got converted in this character.'
Thanks
On Mon, Nov 4, 2019 at 11:28 AM Rishi Seth <rishiseth99@xxxxxxxxx> wrote:
I think I don't need to make a string as in cmd in debug mode i can
see whole long command is coming but ideally value is record is not
coming as decrypted value.
it comes like below in debug mode also one ting i have noticed is that
the pipe symbol is not coming like '*|*' as I have coded in my program
where as in debug mode it gets converted like ' *¦* ':- how did it get
changed ?
That might be the cause of openssl is not working i guess?
Evaluate Expression
Previous debug expressions
EVAL record
RECORD =
....5...10...15...20...25...30...35...40...45...50...55...60
1 'encodedExchangeToken ¦ openssl enc -d -aes-128-ecb -K 363631'
61 '653237354f494d31554c594c4a -nopad -nosalt -base64 -A -out re'
121 'cord '
181 ' '
241 ' '
301 ' '
361 ' '
421 ' '
481 ' '
541 ' '
601 ' '
More...
Debug . . .
Thanks
On Sat, Nov 2, 2019 at 7:02 PM Sam_L <lennon_s_j@xxxxxxxxxxx> wrote:
RPG is great for building strings. You just use "+".
Take a look here:
https://www.code400.com/forum/forum/iseries-programming-languages/rpg
-rpgle/10489-concat-message-into-one-string
.
You could build you cmd string in a series of statements and that
might make debugging easier.
*Something* like this:
cmd = 'echo ' + '''' ;
cmd = %trim(cmd) + encodedexchange;
cmd = %trim(cmd) + ' whatever'
etc etc etc
cmd =%trim(cmd) + '''';
In debug you can go line by line examine cmd and see if it has waht
you want.
%trim removes leading and trailing blanks.
You've not coded a lot of RPG, have you?
Sam
On 11/2/2019 1:16 AM, Rishi Seth wrote:
i don\t know how can i build string but i know cat opcode function
and trimming % trim etc.
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post
a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our
affiliate
link: https://amazon.midrange.com
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
[
https://www.medtronsoftware.com/img/MedtronMinilogo.bmp] Kevin Bucknum
Senior Programmer Analyst
MEDDATA / MEDTRON
120 Innwood Drive
Covington LA 70433
Local: 985-893-2550
Toll Free: 877-893-2550
https://www.medtronsoftware.com
CONFIDENTIALITY NOTICE
This document and any accompanying this email transmission contain confidential information, belonging to the sender that is legally privileged. This information is intended only for the use of the individual or entity named above. The authorized recipient of this information is prohibited from disclosing this information to any other party and is required to destroy the information after its stated need has been fulfilled. If you are not the intended recipient, or the employee of agent responsible to deliver it to the intended recipient, you are hereby notified that any disclosure, copying, distribution or action taken in reliance on the contents of these documents is STRICTLY PROHIBITED. If you have received this email in error, please notify the sender immediately to arrange for return or destruction of these documents.
As an Amazon Associate we earn from qualifying purchases.