2013-02-27 41 views
1

是否有Windows附帶的一個支持自動化的HTTP客戶端(即我可以用OLE客戶端控制的東西),並且我可以假定它存在於大多數Windows版本中?是否有和Windows自帶的自動化(OLE2) - 啓用HTTP客戶端?

我打算在SAP ABAP程序中使用它,我希望用戶可以通過它們的桌面連接下載數據,而不是從SAP服務器發起請求。

我正在考慮是否可以在這種情況下對Internet Explorer進行OLE調用(儘管我不確定是否可以檢索HTTP請求的響應),但我總覺得這樣的客戶端會以某種方式'清潔器'。

+1

OLE已死亡,成爲一扇門。自動化是COM的一個子集,請務必使用正確的術語。 – 2013-02-27 12:23:01

+0

感謝您指出了這一點,儘管我仍然不確定我是否理解其中的差異,並且基於「OLE自動化」的維基百科條目(http://en.wikipedia.org/wiki/OLE_Automation),似乎微軟從未提供過一致的定義開始,這已經結束了例如到我參考的SAP文檔(可以追溯到大約12年)。 – mydoghasworms 2013-02-28 05:23:01

回答

1

OK,同時打字這個問題,我用Google搜索「VBSCRIPT HTTP請求」和以下堆棧溢出問題通過指向MSXML2.XMLHTTP爲對象我會通過OLE實例回答我的問題:HTTP GET in VBS

利用這個答案,

data: httpclient type ole2_object. 
data: response type string. 

create object httpclient 'MSXML2.XMLHTTP' no flush. 

call method of httpclient 'open' no flush 
    exporting 
    #1   = 'GET' 
    #2   = 'http://www.google.co.za' 
    #3   = 0. 
call method of httpclient 'send'. 

get property of httpclient 'responseText' = response. 

最後GET PROPERTY後,響應字符串變量包含HTTP響應的主體:我們可以寫成如下一些ABAP代碼。

0

CL_HTTP_CLIENT沒有針對你的情況工作嗎?使用OLE自動化使您的程序對我的經驗不太穩定。

+0

就像我說過的那樣,我希望HTTP請求從用戶的桌面發出,而不是從SAP服務器發送(無論如何,這很可能會受到防火牆的影響,而用戶可能已經在公司代理上進行身份驗證) 。 – mydoghasworms 2013-03-05 05:10:01

0

使用HTTP_POST或HTTP_GET函數。有一個RFC_DESTINATION參數。使用值SAPHTTP通過用戶的桌面SAPHTTPA通過SAP服務器訪問站點。

+0

謝謝,這是一個有趣的解決方案,但它不適合我。我可以驗證RFC destionation SAPHTTP,但調用該函數並將目標參數指定爲'SAPHTTP'會導致超時。 – mydoghasworms 2013-03-25 07:44:04

相關問題