1. Thomas Rolseth
  2. SnapDevelop
  3. Friday, 21 January 2022 22:35 PM UTC

We have a client that made a simple change to a datawindow. They changed a column in the select from CAST(col1 AS CHAR(10)) to TO_CHAR(col1). They then used the C# Conversion tool in SnapDevelop 2021 to import this change into the API which was successful. The backend database is Oracle.

In the client application, a restclient call to the API is used to return a decoded password for the login process. The decoded password is added to a packer object in the API and passed back to the client app in the response. Before the change described above was made, the response looked like this:

{"HashedPwd":"c21hcmtvc2U3"}

After importing the datawindow using the C# converter, which has nothing to do with the login process, the response changed to this:

{"count":1,"keys":["HashedPwd"],"raw":"{\"HashedPwd\":\"c21hcmtvc2U3\"}","dataFormat":1}

Our controller logic looks like this:

//initialize datapacker object
var packer = new DataPacker();

var newPwd = _adminService.Encode("somepassword");
packer.AddValue("HashedPwd", newPwd);

return packer

This is a problem because our parsing logic to get the password no longer works and the login fails. This is happening in both 2019 R3 and 2021. Did the packer object change after the R2 release? Could this be a bug?

Thanks, Tom

Accepted Answer
David Xiong @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 25 January 2022 10:06 AM UTC
  2. SnapDevelop
  3. # Permalink

Hi Thomas,

You need to check whether you are missing the UseCoreIntegrated method in the ConfigureServices method of the Startup class of your API solution (see screenshot below). With the UseCoreIntegrated method, you should get a response similar to the following format:

{"HashedPwd":"c21hcmtvc2U3"}

Regards,

David

Comment
  1. Thomas Rolseth
  2. Thursday, 27 January 2022 16:32 PM UTC
We have the m.UseCoreIntegrated(); line of code in our startup.cs. The problem turned out be nuget versions for the SnapDevelop packages not being in sync. When the datawindow was imported, some packages were updated to version 3.1.1 but not all. Once I got them all on the same version the problem went away. Thanks, Tom
  1. Helpful 1
  1. Armeen Mazda @Appeon
  2. Thursday, 27 January 2022 17:09 PM UTC
Thanks for sharing the solution!
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Saturday, 22 January 2022 22:59 PM UTC
  2. SnapDevelop
  3. # 1

Hi Thomas,

I've noticed that when you have "computed" columns in your Select and modify something, powerbuilder many times sets the field to be "char(0)". You have to edit the source code of the datawindow to see that. (and set the correct value manually in the edited code).

I'm not sure if this might have something to do with the problem you're experiencing.

regards

Comment
  1. Olan Knight
  2. Sunday, 23 January 2022 01:25 AM UTC
^^^^ What Miguel said.

Some datawindows have this issue, but most do not. What I do is when I have a DW with this issue I add an invisible TEXT field with a background of RED and with a WHITE text color and place it on the top of the DWO with the text "Check in EDIT SOURCE for char(0) after you touch this DW!!!".
  1. Helpful 1
  1. Miguel Leeuwe
  2. Sunday, 23 January 2022 05:25 AM UTC
Lol, yes, I use that warning-like invisible texts with a lime-green background too !
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.