有個COM組件,在CS下呼叫正常,但在WS下卻出錯,CS下的代碼如下:
OleObject example
string vw_retxml
example = CREATE oleobject
messagebox("", example.ConnectToNewObject("WeixinPayCom.WeixinPay.WeixinPay"))
vw_retxml = example.TextInterface("hello")
messagebox('result' , vw_retxml)
WS下的代碼如下:
OleObject example
string vw_retxml
long vw_a
example = CREATE oleobject
//messagebox("", example.ConnectToNewObject("WeixinPayCom.WeixinPay.WeixinPay"))
vw_a = example.ConnectToNewObject("WeixinPayCom.WeixinPay.WeixinPay")
//vw_RetXML = example.TextInterface("hello")
vw_retxml = example.textinterface("hello")
DESTROY example
return vw_retxml
在WS上除錯過connecttonewobject函式回傳是0,但運行到TextInterface函式時卻出錯(CS下可以正常呼叫),WS出錯下出:
System.Web.Services.Protocols.SoapException: Name not found calling external object function in function test2 of object n_wxpay ---> Sybase.PowerBuilder.PBOLERuntimeErrorE
在 Sybase.PowerBuilder.PBRuntimeError.Throw(Type exType, RuntimeErrorCode code, Object[] args)
在 Sybase.PowerBuilder.PBOmObject.__invoke_method(PBString s, PBUInt n, PBUnboundedAnyArray a, PBBoolean b)
在 c__n_wxpay.test2(PBString vfp_a) 位置 d:\WXPayServer\Server\pb2cstempout\wxpay\n_wxpay.test2(SS):行號 15
在 cns_wxpay.PBWS__n_wxpay.test2(String vfp_a) 位置 d:\WXPayServer\Server\pb2cstempout\wxpay\wxpay.asmx.cs:行號 173
--- 內部例外堆疊跟蹤的結尾 ---
在 Sybase.PowerBuilder.Web.WebServices.PBWebService.HandleException(Exception ex)
在 cns_wxpay.PBWS__n_wxpay.test2(String vfp_a) 位置 d:\WXPayServer\Server\pb2cstempout\wxpay\wxpay.asmx.cs:行號 183
請問這是什么問題?哪位兄弟可以解答一下?謝謝。
uj5u.com熱心網友回復:
估計不支持的可能性,因為pb的Websrvice,發布后是會自動轉成.net的代碼的,想想能不能用別的方法代替
uj5u.com熱心網友回復:
估計不支持的可能性大,因為pb的Websrvice,發布后是會自動轉成.net的代碼的,想想能不能用別的方法代替uj5u.com熱心網友回復:
現在沒辦法了,只能把這個COM再用PB封裝成COM來呼叫,但不知道這樣做效率如何uj5u.com熱心網友回復:
效率肯定要差些,或者你用c#做個呼叫的程式,發布成webservice,效率就沒有問題了
uj5u.com熱心網友回復:
webService 中無法呼叫 OLE,據 SYBASE 說這是微軟的問題,和 PB 無關。如果真是這樣的話,那么無論用什么工具封裝 OLE, 發布成 webService 后估計都會失效。
uj5u.com熱心網友回復:
不會用C#呢
uj5u.com熱心網友回復:
webService 中無法呼叫 OLE,據 SYBASE 說這是微軟的問題,和 PB 無關。
如果真是這樣的話,那么無論用什么工具封裝 OLE, 發布成 webService 后估計都會失效。
看回這個COM的源代碼,好像沒涉及到OLE
uj5u.com熱心網友回復:
現在沒辦法了,只能把這個COM再用PB封裝成COM來呼叫,但不知道這樣做效率如何
效率肯定要差些,或者你用c#做個呼叫的程式,發布成webservice,效率就沒有問題了
不會用C#呢
那就效率差點,用pb封裝com
uj5u.com熱心網友回復:
看看這個 http://bbs.csdn.net/topics/80424835轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/41731.html
標籤:基礎類
