NetTalk Central

Show Posts

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.


Messages - urayoan

Pages: [1] 2 3 ... 15
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

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


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

5
not yet, I'm working on making it easy for you.

Thanks Bruce, that would be awesome for all

6
Hi Bruce
  Anything in mind with this?

Thanks

7
Probably the only way to do this is using the WebSocket support.
which NetTalk build are you using?

Cheers
Bruce

NetTalk 12.13

8
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
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
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

13
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

Pages: [1] 2 3 ... 15