Error Calling Method of a PBNI object 的问题现象及解决方案

PB9,在编译时提示:

Power Builder Application Execution Error(R0000)
  Application terminated
  Error:error calling method of a PBNI object

这是在create SoapConnetion时,提示的PBNI错误。

解析:

1、如果你的开发环境下,已经存在pbsoapclient90.dll,注意和PB的安装环境下的同名文件对比一下,是否大小不一致,正常大小为620K。

解决:就是把PB的安装环境下的pbsoapclient90.dll考到开发环境,或者干脆把开发环境的pbsoapclient90.dll直接删除,而让其走环境变量对应的路径下的pbsoapclient90.dll

2、如果对应的WebService的地址不正确,在生产环境也会出现这个错误提示!也是醉了啊!!

我是在某次编译时,把pbsoapclient90.pbd也勾上了,即把这个PBD也编译也DLL了,结果编译出来的pbsoapclient90.dll为40K左右。这会导致2下结果 :

1、再次编译时,出现PBNI错误

2、发布到生产环境时,也会出增PBNI错误

带带拉拉查了好几天,又是查环境变量,又是开台新机器重装反复试验,哎,血淋淋的教训啊!!!

 

延伸:PB9调用WebService时,需要将pbsoapclient90.pbd放到你的工程里,但是编译时,不能将其编译为DLL,因为人家PowerBuiler已经自带这个DLL文件了。你只需要在发布到生产环境时,带上这个DLL即可(还有EasySoap.Dll)

 

你可能感兴趣的:(WebService,Error,Calling,Method,of,a,PBNI,PBNI,create)