全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1950
推到 Plurk!
推到 Facebook!

关于webservice技术中传递 数据的格式问题

尚未結案
looyowang
一般會員


發表:2
回覆:1
積分:0
註冊:2004-09-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-02-29 09:08:54 IP:210.51.xxx.xxx 訂閱
我的三层系统原来是 com+ 架构的,  就是李老师的 ado mts com+ 那本书上的技术 clientdataset.data 和 clientdataset.delta 直接作为参数在客户端和应用服务器之间传递。
现在我想将这个系统改造成 webserice 的技术,看了很多资料,李老师的 webservice的书传递的是 clientdataset.xml;其他有人还将data 和delta 转换成string后编码成base64来传递。

但是我试验了一个程序,我的webserice中定义的接口函数为 getPayTypeVdatas(var vdatas:olevariant):hresult;
我在这个函数中直接 vdatas:=clientdataset1.data; 没有做任何转换,客户端调用后直接将clientdataset2.data:=vdatas; 也很正常。

难道我的这种调用方法也可以?
还是我的方法在传递比较复杂的clientdataset1.data就有可能出现问题?
往高手兄解答一下。
mustapha.wang
資深會員


發表:88
回覆:407
積分:274
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-02 20:33:16 IP:222.68.xxx.xxx 訂閱
我有试过,如果直接用OLEVariant传递2进制资料可能出现错误。因为SOAP是XML传递,所以可能某些字符与XML的标记字符等冲突,使不能正确解析。
后来我也是转成Bas64处理。
type
TOLEVariantRemotable=class(TRemotableXS)
private
FValue:OLEVariant;
public
function NativeToXS: WideString; override;
procedure XSToNative(Data: WideString); override;
property Value:OLEVariant read FValue write FValue;
end;
系統時間:2017-10-20 7:45:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!