Xml 无法使用Powerbuilder.NET web服务打开文件

Xml 无法使用Powerbuilder.NET web服务打开文件,xml,web-services,iis-7,powerbuilder,Xml,Web Services,Iis 7,Powerbuilder,我正在使用PB11.5部署一个.NETWeb服务,在使用该服务之前,我正试图在服务器上对其进行测试。此WS将blob从数据库加载到图像文件中,并将其保存在本地。稍后,我将使用第三方工具进一步将此文件转换为pdf。这个过程在我的本地机器上运行得很好,但在文件的open命令中似乎得到了堆栈: li_FileNum = FileOpen(is_Openfilename[li_fileindex], StreamMode!, Write!, Shared!, Replace!) 我得到的回报是-1。

我正在使用PB11.5部署一个.NETWeb服务,在使用该服务之前,我正试图在服务器上对其进行测试。此WS将blob从数据库加载到图像文件中,并将其保存在本地。稍后,我将使用第三方工具进一步将此文件转换为pdf。这个过程在我的本地机器上运行得很好,但在文件的open命令中似乎得到了堆栈:

li_FileNum = FileOpen(is_Openfilename[li_fileindex], StreamMode!, Write!, Shared!, Replace!) 
我得到的回报是-1。从数据库加载blob成功,我可以看到返回的大小。 我不确定这是许可问题还是其他问题。我试图打开文件的文件夹对每个人都有权限设置。Web服务器正在使用Windows Server 2008 R2运行IIS 7.0

我正在使用IE测试页面测试WS,并呈现传递初始值所需的函数

有什么想法吗

提前谢谢


Shai

在一位值得信赖的同事的帮助下,我在周五下午晚些时候才弄明白这一点。我们向Web服务器上的组IIS_IUSR和IUSR添加了文件夹权限。我终于能够在服务器上打开该文件,并且可以通过应用程序文件夹上的虚拟路径更深入地找到它。我将打开的文件代码更改为不使用路径:li\u FileNum=FileOpen(is\u Openfilename[li\u fileindex],StreamMode!,Write!,Shared!,Replace!),并且能够在以下位置找到文件:From application Folder\ws\u ios\u transfer\u root\File\session\u webservice\c

是否检查了
是否为\u Openfilename[li\u fileindex]
文件的路径是否有效?是。这条路是正确的。你的回答让我思考,我添加了一个调试检查,看看我是否能在那个目录中找到一个文件。手动将文件放入该目录后,FileExist(fileName)返回False。我不确定发生了什么。这可能是ACL问题。您能否检查拥有正在运行的进程的配置文件是否与您一样具有对文件夹的访问权限?运行此web服务的配置文件/标识具有管理员权限。请使用进程监视器(SysInternals)查看文件活动发生的位置。这可能会扩大类比的范围,但Web表单将文件访问映射到特定于会话的目录。这可能就是您的文件请求所发生的情况。