2013-01-03 27 views
0

我正在使用PB 11.5來部署.NET Web服務,我試圖在服務器上使用它之前對其進行測試。這個WS從數據庫加載一個blob到一個Image文件中,並將其保存在本地。稍後我會使用第三方工具來進一步操縱這個文件爲pdf。這個過程的工作就好了我的本地計算機上,但似乎該文件的打開命令期間獲得堆棧:無法使用Powerbuilder .NET Web服務打開文件

li_FileNum = FileOpen(is_Openfilename[li_fileindex], StreamMode!, Write!, Shared!, Replace!) 

我得到的返回-1。從數據庫加載blob是成功的,因爲我可以看到它的大小返回。 我不確定這是否是許可問題或其他問題。我試圖打開該文件的文件夾爲每個人都設置了權限。 Web服務器與Windows Server 2008 R2一起運行IIS 7.0。

我正在使用IE測試頁面測試WS並呈現函數,我需要傳遞一個初始值。

任何想法?

在此先感謝。

夏嘉曦

+0

您是否檢查過'is_Openfilename [li_fileindex]'是文件的有效路徑? – Seki

+0

是的。路徑是正確的。你的迴應讓我想到了,我添加了一個調試檢查,看看我能否在該目錄中找到一個文件。在手動將文件放入該目錄後,FileExist(fileName)返回False。我不確定發生了什麼事。 – shai4444

+0

這可能是一個ACL問題。你能檢查擁有正在運行的進程的配置文件是否可以訪問像你這樣的文件夾嗎? – Seki

回答

0

我能遲到週五下午與信任的同事的幫助下想出解決辦法。我們將文件夾權限添加到Web服務器上的組IIS_IUSRS和IUSR。我終於能夠打開服務器上的文件,並且可以通過應用程序文件夾上的虛擬路徑找到它。我更改了我的打開文件代碼,以便不使用路徑:li_FileNum = FileOpen(is_Openfilename [li_fileindex],StreamMode !, Write !, Shared !, Replace!),並且能夠在以下位置找到該文件:從應用程序Folder \ ws_ios_transfer_root \ file \ session_ webservice _ \ c

相關問題