In Powerbuilder 2017 R3 Build 1858, I am attempting to create a small executable that parses a json API result and then both populates a database and writes image files to the local file system of the server. I will be running it as a scheduled job so I have built it entirely out of NVOs. Everything is fully built out in the Powerbuilder IDE and I am able to deploy a Pcode 64-bit exe and it runs fine on my machine from the exe even when moved to another folder.
Moving the exe to the server it will run the executable up until I try to initialize the httpclient. Nothing further happens and an error isn't thrown. The following is the beginning of the of_getreport function of my n_importer NVO:
integer li_rc , li_inactive_rows, li_count
long ll_id, ll_userid,ll_row,ll_root,ll_index,ll_child,ll_count, ll_data
string ls_string,ls_result,ls_body,ls_title , ls_image, ls_filename
blob lb_image
String ls_get_url
String ls_response_text, ls_status_text
string ls_race, ls_age, ls_arrest_date, ls_charges
long ll_status_code
boolean lb_fileDeleted
integer s_iCount, s_lLineNum
MessageBox('of_getreport()', 'primitves set')
datastore lds_population_inactive
OleObject loo_xmlhttp
MessageBox('of_getreport()', 'Objects set')
MessageBox('httpclient', is_reportUrl)
try
MessageBox('of_getreport()', 'httpclient http ')
httpclient http
MessageBox('of_getreport()', 'http = create httpclient ')
http = create httpclient
MessageBox('of_getreport()', 'sendrequest')
li_rc = http.sendrequest( 'GET',is_reportUrl + is_credentials)
MessageBox('li_rc', li_rc)
MessageBox('http.GetResponseStatusCode()', http.GetResponseStatusCode())
if li_rc = 1 and http.GetResponseStatusCode() = 200 then
http.GetResponseBody(ls_string)
end if
MessageBox('of_getreport()', ' JSONParser json ')
JSONParser json
json = create JSONParser
ls_result = json.loadstring( ls_string )
ll_root = json.getrootitem( )
catch (runtimeerror er)
MessageBox("Runtime Error", er.GetMessage())
end try
Based on the messages, it seems the line " http = create httpclient " is the last executed. I added the message boxes after finding the application wasn't working on the server.
Windows Server 2016 is the latest server OS listed as compatible with PB 2017 R3.
Also, I see that you are on Windows Server 2019 which is not yet officially supported. That might also be a related issue to your problem (total guess at this point). Do you have a W2016 server instance that you could test this on?