2017-04-05 51 views
1

考慮到我們有一臺服務器,當它通過URL(URL中的數據)觸發時,服務器通過創建PDF文件來響應。如何在PowerBuilder中捕獲服務器的響應

在PowerBuilder工具,我們通過PostURL()觸發的網址:

int ll_return 
inet_base = CREATE inet 
ll_return = inet_base.postURL('http://server:8080/postRender?', Blob, header string, port#, internetData) 

在postURL說法,斑點是附加在該URL中的數據。數據被轉換爲blob,然後作爲參數傳遞。

的postURL功能的細節是在下面的鏈接: http://infocenter-archive.sybase.com/help/index.jsp?topic=/com.sybase.dc37781_1150/html/psref/CCJCIIFD.htm

考慮服務器與一些消息像返回代碼:找不到文件!

我需要幫助編寫PowerBuilder代碼來捕獲服務器的響應。目前,由於我們使用PostURL功能觸發POST請求,作爲回報,我只得到了整數,如:

  • 1成功

  • -1常規錯誤

  • -2無效的網址

  • -4無法連接到互聯網

  • -5不支持安全(HT TPS)連接嘗試

  • -6互聯網請求失敗

回答

1

挖掘更多這個問題之後,我發現它可以捕獲來自服務器的響應消息。

以上面的代碼的參考:

int ll_return 
inet_base = CREATE inet 
ll_return = inet_base.postURL('http://server:8080/postRender?', Blob, header string, port#, internetData) 

在PostURL函數的最後一個參數是稱爲InternetData一個對象。 InternetData是一個包含名爲internetdata(blob數據)的函數的對象。

來自服務器的響應消息被捕獲到變量blob數據中。 我們需要將數據轉換爲字符串如下:

is_data = String(data, EncodingANSI!) 

變量is_data將包含HTML腳本,其中包括來自服務器的響應消息。

方法來創建用戶對象的internetResult類型:

  • 點擊文件>新建
  • 選擇PBObject標籤
  • 選擇標準類,然後單擊OK
  • 選擇標準類類型爲internetresult並點擊確定。
0

你是對的!

傳遞給postURL函數的對象基本上是一個回調對象。該對象的回調函數是InternetData(blob Data)。

所以你需要從InternetResult類創建一個後代,並實現InternetData函數來處理接收到的數據塊,只要你認爲合適。

相關問題