关于webservice技术中传递 数据的格式问题 |
尚未結案
|
looyowang
一般會員 發表:2 回覆:1 積分:0 註冊:2004-09-03 發送簡訊給我 |
我的三层系统原来是 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
資深會員 發表:89 回覆:409 積分:274 註冊:2002-03-13 發送簡訊給我 |
我有试过,如果直接用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;
------
江上何人初见月,江月何年初照人 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |