ShowURL e chiusura improvvisa WebApp

Ciao a tutti,

mi ritrovo in un’insolita siutazione.
Hi effettuata una chiamata rest con HTTPSecureSocket su Web 1.0

Questa chiamata mi serve per recuperarmi un paramtetro per costruirmi un url,

In seguito eseguo il comando ShowURL(urlUtente, false)

Quando eseguo questo comando la WebApp si spegne di colpo. Ho provato sia su Mac che su Linux.

Come è possibile risolvere? qualcuno ha qualche suggerimento?

Grazie

Ho scoperto che non è lo ShowUrl. Ma l’oggetto HTTPSecureSocket che dopo pochi secondi chiude l’Applicazione.

Qualcuno ha mai avuto questo problema???

Xojo 2019 R3.2

Ysi HTTPSecureSocket per chiamare in post un servizio Rest remoto (Stripe) in modo che mi restituisca l’url del checkout.

Questo è il codice che dopo un po fa spegnere l’applicazione:

Dim urlChecout as String

Try
  
  Dim parametro as New Parametro
  
  Dim checkoutUrl As String
  
  //Inserire pagamento
  //.....
  
  // La tua chiave API segreta
  Dim apiKey As String = parametro.caricaParametro( Parametro.P_STRIPE_KEY).valore
  
  
  
  Dim stripeSocketTmp as New StripeSocket
  stripeSocketTmp.Secure = True
  stripeSocketTmp.ConnectionType = SSLSocket.TLSv12
  stripeSocketTmp.SetRequestHeader("Authorization","Bearer " +  apiKey)
  
  // URL dell'endpoint Stripe per creare una sessione di checkout
  Dim url As String = "https://api.stripe.com/v1/checkout/sessions"
  
  
  Dim queryString as String
  queryString = "?cid="+commissioneTmp.id_.ToString

  
  Dim urlSuccess As String
  urlSuccess = “htpps://mysite.com:9190#success”
  
  Dim urlCancel as String
  urlCancel =  “htpps://mysite.com:9190#cancel”
  
  //Parsing Costo
  Dim costoStr as String
  costoStr = commissioneTmp.budgetFinale
  

  // Definisci i parametri della sessione di checkout
  Dim postData As New Dictionary
  postData.Value("payment_method_types[]") = "card"
  postData.Value("line_items[][price_data][currency]") = "eur"
  postData.Value("line_items[][price_data][product_data][name]") = “Prodotto Test”
  postData.Value("line_items[][price_data][unit_amount]") = costoStr
  postData.Value("line_items[][quantity]") = "1"
  postData.Value("mode") = "payment"
  postData.Value("success_url") = urlSuccess
  postData.Value("cancel_url") = urlCancel
  
  
  
  // Invia la richiesta POST in modo sincrono
  
  
  stripeSocketTmp.SetFormData(postData)
  
  
  Dim result As String
  result = stripeSocketTmp.Post(url , 0) // Synchronous
  
  result = DefineEncoding(result, Encodings.UTF8)
  
  Dim jsonStripe as New JSONItem(result)
  
  // Ottieni l'ID della sessione di checkout
  urlChecout = jsonStripe.Value("url")
  
  // Mostra il link di checkout o reindirizza l'utente
  //ShowURL(urlCheckout, false)
  stripeSocketTmp.Disconnect
  stripeSocketTmp.Close
  
Catch
  
End Try

return urlChecout

Ho provato a cambiarei l timeout del metodo Post ma niente.
Ho inserito Disconect e Close ma niente.

Soluzioni?

Ho seguito la stessa applicazione su MacOs e su Fedora, ed in entrmbe lo stesso problema.

La webApp è avviat in standalone.

Ho chiuesto all’AI ma niente soluzioni.

Grazie

Cosa ho fatto,
ho spostato questo codice dall’evento Action del Button e l’ho messo nell’evento Open della form. Per caricarmi l’url.
Il butto fa solo lo ShowUrl.

Il locale quando avvio in debug l’applicazione funziona.
Sul server con l’applicazione avviata in standalone no, l’applicazione si chiude quando arriva all’evento Open.

Sto cercando varie soluzioni…

Ho risolto utilizzando un GenericObject e come super classe ereditando URLConnection
In quanto URLConnection non era nella lista degli oggetti disponibili.

Utilizzando URLConnection l’applicazione non si chiude.