2012-02-27 100 views
0

我正在关注vfp网络服务漫步。但是当我在任务窗格中测试结果时收到错误。原因是:班级未注册vfp网络服务

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

xxxx是我的方法。

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

有什么建议吗?

回答

0

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

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

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

要只是测试对象是否在注册表或没有,你总是可以只启动VFP的实例,并在命令窗口,尝试做一个

objTesting = CREATEOBJECT(“YourClass.YourObject” )

如果它以这种方式工作,那么我会更多地查看权限大道。

的后续

@wongchungyie,我不知道,如果这是问题或没有,但更可能的权限。有一次,当改变开发机器时,我也尝试创建一个OlePublic COM服务器类的实例。为了确保问题是什么,我开始在VFP一个简单的程序,没有没有,但

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

那么,作为“创建对象”是要通过所有的初始化,您可能会发现一些“路径”是不可用的,或权限,或其他...找到并修复该元素,我能够继续为我的客户工作。

希望这能给你一些工作。

+0

它是多线程的......你能告诉我它是否正确吗?单个/多重效果我的项目如何?感谢您的帮助。 :) – 2012-02-28 05:20:47

+0

@wongchungyie,看修订/扩大答案。 – DRapp 2012-02-28 12:21:17