PB创建WebService实例的代码出现在数据库连接之后即出错?PB的脾气怎么这么飘忽

shenhai800 2010-09-17 05:25:13
暂时分数不够,事后再加也可。

PB版本:9.0.3 Build8836

代码1:
SoapConnection conn
servicehttpsoap11endpoint test_ws
long rVal
conn = create SoapConnection
//创建服务实例
rVal = Conn.CreateInstance(test_ws, "servicehttpsoap11endpoint","http://localhost:8080/cc/services/ccService?wsdl")

代码2:
CONNECT USING sqlca;

如上单独执行[代码1]一切正常,
但是若将[代码1]放置[代码2]之后,则会在rVal = Conn.CreateInstance这步出现异常,异常描述如下:
------------------
PowerBuilder Application Execution Error(R0021)
Application terminated
Error:Bad runtime function reference at line 26 in function g_getetlfile_ws of object **

这里不是函数没有放到主pbl的问题,现在我已经将他们都放过去了。并且在一个函数中只调整两段代码的顺序即出现成功\失败的不同情况。

难道是它们的dll冲突造成的?
...全文
627 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaplinkaka 2011-03-15
  • 打赏
  • 举报
回复
楼主的问题还解决了啊?
做梦的猫 2010-09-21
  • 打赏
  • 举报
回复
我出现过类似的错误(pb12),只是跟连接没有关系,只要 CreateInstance() 就报 runtime 错!

原因是:system32 目录下有老版本 pb 的 dll,它与../sybase/share/powerbuilder 中的新版本的同名 dll 冲突,删除或覆盖老 dll 即可(libeay32.dll)。
pcwe2002 2010-09-21
  • 打赏
  • 举报
回复
从上面代码看楼主的webservice服务器是本机,是不是里面进行了数据连接操作,而且使用的ODBC
shenhai800 2010-09-19
  • 打赏
  • 举报
回复
代码1,代码2之间有没有代码
可以有,可以没有,结果是一样的。
程序是否引用了其他pbni object(*.pbx)
后发现只要使用ODBC方式连接数据库成功,WS就game over了。若使用JDBC方式就没有问题。难道是
ODBC的dll和其它dll冲突了?
CreateInstance用try包起来试试
试了,走不到catch即同样报如上runtime 错误。
g_getetlfile_ws 写啥了
这个函数就是上面两段代码所在的函数名称。
AFIC 2010-09-17
  • 打赏
  • 举报
回复
代码1,代码2之间有没有代码
程序是否引用了其他pbni object(*.pbx)
CreateInstance用try包起来试试
g_getetlfile_ws 写啥了

662

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧