class未注册vfp Web服务

时间:2012-02-27 07:43:55

标签: web ole visual-foxpro

我正在关注vfp网络服务。但是当我在任务窗格中测试结果时,我收到一个错误。那是:

错误:1429 - 来自WSDLOperation的OLE IDispatch异常代码0:WSDLOperation:实例化方法xxxx的调度对象失败HRESULT = 0x80040154:类未注册。

xxxx是我的方法。

我已经注册了dll并在IIS中设置了授权。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

听起来就像编译VFP模块时,“OlePublic”类实例从未正确地放入Windows注册表中。如果您不在管理级别允许写入注册表,VFP通常不会注册。如果是这种情况,请确保在编译应用程序之前将VFP作为“Admin”用户启动。

此外,您是将其构建为单个或多线程DLL实例。此外,如果右键单击项目的“项目信息”,然后单击“服务器”选项卡,则应显示所有OlePublic类。什么是“Instancing”设置......单/多?

此外,它可能是一个“权限”的东西。如果您尝试将服务加载为(即:ASP.NET用户帐户或类似服务)并且该用户没有权限和/或访问该文件,那么它将不允许创建该对象。 / p>

要测试对象是否在注册表中,您可以随时启动VFP实例,并从命令窗口尝试执行

objTesting = CREATEOBJECT(“YourClass.YourObject”)

如果它以这种方式工作,那么我会更多地了解权限途径。

的后续

@wongchungyie,我不确定这是不是问题,但更有可能是权限。有一次,在更改开发机器时,我在尝试创建OlePublic COM服务器类的实例时遇到了问题。为了确定问题是什么,我在VFP中启动了一个简单的程序但没有做什么但是

set procedure to YourClassThatHasOlePublic
set step on
o = createObject( "YourOlePublicClass" )

然后,当“CreateObject”正在进行所有初始化时,你可能会发现一些“路径”不可用,或者权限,或者其他什么......查找并修复该元素,我能够继续为我工作客户端。

希望这能为你提供一些工作。