This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
1
Web Server - Ask For Help / Re: IT Audit Report
« on: October 21, 2022, 12:22:13 PM »
Like Jane said, is better to upgrade and gain other security features that are included in recent versions of NetTalk than try to fix an outdated version itself.
2
E-Mail - Ask For Help / Re: ErrorTrap
« on: August 25, 2022, 06:03:31 AM »
Thanks Bruce
Yes, im noticing in errorStr you show the server message that is not always the same depending the service. The other thing I noticed is the functionName shows this (at least in the tests I did) ,
NetEmailSend.Process <= when there's a problem sending for example, bad address etc
NetSimple.TakeEvent <= Usually connection timeout
There are other type of errors there? If what I saw is what I thin it is, that may help me to discern if it is a network issue or configuration to the SMTP service problem or a bad address problem (or possibly others)
Thanks again
Yes, im noticing in errorStr you show the server message that is not always the same depending the service. The other thing I noticed is the functionName shows this (at least in the tests I did) ,
NetEmailSend.Process <= when there's a problem sending for example, bad address etc
NetSimple.TakeEvent <= Usually connection timeout
There are other type of errors there? If what I saw is what I thin it is, that may help me to discern if it is a network issue or configuration to the SMTP service problem or a bad address problem (or possibly others)
Thanks again
3
E-Mail - Ask For Help / ErrorTrap
« on: August 24, 2022, 09:28:09 AM »
Hello
In the ThisSendEmail object there's a section called ErrorTrap(errorStr,functionName). It is possible to trap just the error number based on the exception or what cause the specific error?
The reason I ask is, because is not the same to have a wrong written email vs a connection timeout. based on the error number I can make a choice to delete that email from the sending queue or just keep it to try to send it again when the connection is available again.
Thanks
In the ThisSendEmail object there's a section called ErrorTrap(errorStr,functionName). It is possible to trap just the error number based on the exception or what cause the specific error?
The reason I ask is, because is not the same to have a wrong written email vs a connection timeout. based on the error number I can make a choice to delete that email from the sending queue or just keep it to try to send it again when the connection is available again.
Thanks
4
Web Server - Ask For Help / Is this good or bad or won't matter?
« on: December 17, 2021, 07:21:28 AM »
Hello:
I'm monitoring a web server with NetTalk 12 (don't remember the exact revision, pretty sure no the last one, but no more than 2 months old) and I'm seeing in the Log Window this message randomly
ERROR: -30 Unable to Close connection An error occurred while trying to access a (truncated)
Question is, why does this happen? Any way to trace back or identify it's origin is it is something that is affecting stability in the server?
Suggestions are appreciated
I'm monitoring a web server with NetTalk 12 (don't remember the exact revision, pretty sure no the last one, but no more than 2 months old) and I'm seeing in the Log Window this message randomly
ERROR: -30 Unable to Close connection An error occurred while trying to access a (truncated)
Question is, why does this happen? Any way to trace back or identify it's origin is it is something that is affecting stability in the server?
Suggestions are appreciated
5
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 18, 2021, 09:45:03 AM »not yet, I'm working on making it easy for you.
Thanks Bruce, that would be awesome for all
6
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 17, 2021, 04:06:49 AM »
Hi Bruce
Anything in mind with this?
Thanks
Anything in mind with this?
Thanks
7
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 11, 2021, 03:48:46 AM »Probably the only way to do this is using the WebSocket support.
which NetTalk build are you using?
Cheers
Bruce
NetTalk 12.13
8
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 10, 2021, 06:40:21 AM »I'm thinking that you mean you call the NetWebPage proc in a new _tab_? Am I right? So you now have 2 _tabs_ in play, one with the browse, one with the netWebPage, and you want the _browse_ tab to update when the other tab has finished on the report?
Cheers
Bruce
Yes Bruce
Thanks
9
Web Server - Ask For Help / Re: Server Error 500
« on: May 07, 2021, 07:09:27 AM »yeah, you can bump that up, and I'll bump it up in the next build.
Thank you Bruce
10
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 06, 2021, 10:40:14 AM »check the GotFocus Back routine in your WebForm, I don't know if it works when you call a page as a new page, for me it works as a popup and closes a window, like this
p_web.PushEvent('parentupdated')
do refresh::BrowseCustomerServices
the browse is inside the webform
Question related to this, the button is called from the browse and not from the form. Any ideas how to call it from the browse (the getfocusback function)
This is the code I call from he buttton in the row of the browse. The bold text is what I think should refresh the browse based on what you told me and what I understand
PrintAllLabels PROCEDURE (NetWebServerWorker p_web)
LocFileName CSTRING(256) !
LocPDFName CSTRING(256) !
LocTimeStamp LONG !
LoopVar LONG !
! Start of "Data Section"
! [Priority 50]
oHH &tagHTMLHelp
! [Priority 2600]
omit('***',WE::CantCloseNowSetHereDone=1) !Getting Nested omit compile error, then uncheck the "Check for duplicate CantCloseNowSetHere variable declaration" in the WinEvent local template
WE::CantCloseNowSetHereDone equate(1)
WE::CantCloseNowSetHere long
!***
! [Priority 6100]
loc:x Long
packet StringTheory
loc:options StringTheory ! options for jQuery calls
! [Priority 8500]
! End of "Data Section"
! Start of "Local Data After Object Declarations"
! [Priority 5000]
! End of "Local Data After Object Declarations"
CODE
GlobalErrors.SetProcedureName('PrintAllLabels')
p_web.Trace('PrintAllLabels START')
! Start of "Procedure Setup"
! [Priority 2500]
p_web.SetValue('_parentPage','PrintAllLabels')
If p_web.GetSessionLoggedIn() = 0
If p_web.site.LoginPage = ''
p_web.SendError (401,'Unauthorized', 'A login is required to view this page', true , true)
ElsIf p_web.site.LoginPageIsControl
p_web.MakePage(p_web.site.LoginPage)
else
p_web._SendFile(p_web.site.LoginPage)
End
Return
End
! [Priority 7500]
! End of "Procedure Setup"
! Start of "Processed Code"
! [Priority 500]
if p_web.sessionId = '' then p_web.NewSession().
! Start of "Before Header"
! [Priority 5000]
! End of "Before Header"
do Header
! [Priority 1200]
! [Priority 4000]
IF p_web.GetValue('RRH:RequestNumber') > 0
LocTimeStamp = FORMAT(CLOCK(),@T5)
LocPDFName = '$$$' & clip(p_web.SessionID) & LocTimeStamp & '.pdf'
LocFileName = 'labels\' & LocPDFName
WindowProcessSARAWebRequest(p_web.GetValue('RRH:RequestNumber'),LocPDFName)
!DO RefreshBrowse
END!IF
do Footer
! [Priority 8500]
do SendPacket
! [Priority 9500]
! End of "Processed Code"
p_web.Trace('PrintAllLabels END')
GlobalErrors.SetProcedureName()
Return
! Start of "Procedure Routines"
! [Priority 4000]
RefreshBrowse ROUTINE
DATA
loc:parent string(252)
CODE
p_web.PushEvent('gainfocus')
p_web.SetValue('_parentProc_',p_web.SetParent(loc:parent,'WindowUpdateOrder'))
p_web.SetValue('BrowseNewOrders:parentIs','Form')
BrowseNewOrders(p_web)
EXIT
SendPacket Routine
! Start of "Start of SendPacket Routine"
! [Priority 5000]
! End of "Start of SendPacket Routine"
p_web.ParseHTML(packet,1,0,Net:NoHeader)
packet.SetValue('')
! Start of "End of SendPacket Routine"
! [Priority 5000]
! End of "End of SendPacket Routine"
Header Routine
! Start of "Start of Header Routine"
! [Priority 5000]
! End of "Start of Header Routine"
! Start of "W3 Header Override"
! [Priority 5000]
! End of "W3 Header Override"
p_web.ReplyContentType = p_web.GetContentType('.pdf')
p_web.ReplyContentFixed = 1
packet.setvalue('')
! Start of "End of Header Routine"
! [Priority 5000]
! End of "End of Header Routine"
Footer Routine
! Start of "Start of Footer Routine"
! [Priority 4000]
p_web.ForceNoCache = 1
p_web.HeaderDetails.ContentDisposition = 'attachment; filename="'&CLIP(p_web.SessionID) & CLIP(LocTimeStamp) & '.pdf'&'"'
p_web.ReplyContentType = 'application/octet-stream'
p_web.ReplyContentFixed = true
p_web.SetHeader200()
! End of "Start of Footer Routine"
p_web._Sendfile(clip(p_web.site.WebFolderPath) & '\' & LocFileName)
! Start of "End of Footer Routine"
! [Priority 5000]
DO RefreshBrowse
! End of "End of Footer Routine"
! [Priority 8500]
! End of "Procedure Routines"
! Start of "Local Procedures"
! [Priority 5000]
! End of "Local Procedures"
11
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 06, 2021, 08:44:48 AM »check the GotFocus Back routine in your WebForm, I don't know if it works when you call a page as a new page, for me it works as a popup and closes a window, like this
p_web.PushEvent('parentupdated')
do refresh::BrowseCustomerServices
the browse is inside the webform
Thanks man. Will try and check if it works
12
Web Server - Ask For Help / Re: Server Error 500
« on: May 06, 2021, 05:24:10 AM »
Related to this, it is possible or pertinent in this structure to ramp up the field description to a higher length? I need the field larger to fit the request complete when it goes to disk. Is truncating the request in the log
LogQueue QUEUE,PRE(LogQ)
Port STRING(30)
Socket LONG
Thread LONG
Date LONG
Time LONG
Desc STRING(4096)
END
LogQueue QUEUE,PRE(LogQ)
Port STRING(30)
Socket LONG
Thread LONG
Date LONG
Time LONG
Desc STRING(4096)
END
13
Web Server - Ask For Help / Re: Refresh Browse After Report Generation
« on: May 06, 2021, 04:54:23 AM »Hi Ura,
I'm not sure if I'm following correctly.
You have a button on a NetWebPage that generates a report. When this is done you want to refresh a browse.
But the browse is, um, where? Another tab? on the netWebPage?
there are ways to refresh the browse, but I'm needing more on the context to understand what you are doing.
cheers
Bruce
The browse in inside a WebForm. The reports I'm generating are per records so the print button is inside the browse. When I click the print button, this call a NetWebPage proc in a new page, that decides what type of report to print, generate and send back the PDF. After the print, the status of the record in the browse is changed to well, printed. I set my filter to not show whats printed in the list and it works, but after generate the report, I need to manually reload the browse via web browser refresh (yikes).
I will make a simple example of what I'm trying to achieve if not clear.
14
Web Server - Ask For Help / Re: Server Error 500
« on: May 06, 2021, 04:46:14 AM »anything in WebServer procedure?
but assuming not, then the next step would be to determine what in the delete is causing a problem - ie an example...
In the WebServer procedure I have some embeds, but mostly the ones who sets defaults to the specific client and the program start. Reding from INI file and open two files to read some company defaults and close again when the variables are set.
Recently to at least a work around the problem I did this (check code). If i detect and error 500 in the server I close and let the watchdog run the service again. Is not clean, but at least if the server goes Error 500 at an unfortunate hour, it start again. (The simple watchdog I use for the benefit of others here https://w-shadow.com/blog/2009/03/04/restart-on-crash/). If there is a clean way to do that, It will be appreciated.
I will check and try to make an example, In this case If you tell me what can help you out It could be great to try to compose whats needed to make this happen.
loc:RequestData :=: p_RequestData
If (self.performance.NumberOfThreads >= self.MaxThreads and self.MaxThreads > 0) or loc:shuttingDown
If loc:shuttingDown = 0 and self.PoolSize
Loop Index = 1 to self.PoolSize
If self.ThreadPool[Index].Thread <> 0 and self.ThreadPool[Index].Status = Net:PoolWaiting and Self.ThreadPool[Index].ServerID = self.ServerID
PoolWaiting = Index
Break
Elsif self.ThreadPool[Index].Thread = 0 and StartNewPool = 0! is there a space in the pool for another thread?
StartNewPool = Index
End
End
End
if loc:RequestData.RequestMethodType <> NetWebServer_DELETESESSION and PoolWaiting = 0
if not self.WebSocketServer &= null and self.WebSocketServer.IsWebSocket(self.packet.SockID)
! do not send invalid reply, it's a malformed packet in the wss protocol.
else
self.SendError(500,'Server Busy','Server Busy, try again shortly')
HALT() !En lo que logramos onseguir cual es el procedure que falla
end
self._PerfEndThread(0,0,500) ! Errors are counted, but otherwise not included in stats
do UpdateStats
dispose(p_RequestData.DataString)
end
return
End
15
Web Server - Ask For Help / Refresh Browse After Report Generation
« on: May 03, 2021, 10:33:52 AM »
Hi:
There is a way to refresh a browse after a report is generated?
I'm calling the report with a button in another procedure (NetWebPage)
I set the option refresh the whole browse after server code runs in the browsw, but nothing happens.
Something I am missing?
Thanks @ Urayoan
There is a way to refresh a browse after a report is generated?
I'm calling the report with a button in another procedure (NetWebPage)
I set the option refresh the whole browse after server code runs in the browsw, but nothing happens.
Something I am missing?
Thanks @ Urayoan