delphi 调用webservice时,可能没有序列化,出现如下错误:
'' is not a vaild integer value,操作正常,那么请问高手,如何在delphi实现
序列,java里倒是有序列类
'' is not a vaild integer value,操作正常,那么请问高手,如何在delphi实现
序列,java里倒是有序列类
解决方案 »
- 求一个替换字符串函数
- Delphi Listbox读取数据库
- NMHTTP与如何向asp生成的页面写数据?
- ^-^女友今天過生日^-^差點忘記了~~~^-^~~開始散分^-^生日快樂^-^ 200分(3)
- 初学Dephi,一个小问题
- 哪有Delphi 7 Studio Architect 正式架构版的下载网址???
- 怎样创建一个.TXT文件,并把str:widestring写入到这个文件中?
- 在delphi中可以用二维动态数组做函数或过程的参数吗?(在线)
- 关于窗体启动顺序的问题
- 主窗体Close后,怎么任务栏上还有图标?
- 求在登陆远程数据库的期间有一个进度条显示进度。登陆成功后进度条消失的代码。
- ReportBuilder中怎么实现金额大写
序列化就是把类影射成xml
TByteDynArray = array of Byte;
TShortIntDynArray = array of ShortInt;
TInt64DynArray = array of Int64;
TLongWordDynArray = array of LongWord;
TSingleDynArray = array of Single;
TDoubleDynArray = array of Double; TBooleanDynArray = array of Boolean;
TStringDynArray = array of string;
TWideStringDynArray = array of WideString;//==========
我用的TbyteDynarray写的ws传输各种文件,用法和数组一样.
你用的都是基本的类型,也不需要序列化,因为不需要,当传递复杂类型的时候就需要将传递的值进行序列,按照理论好象这样,在最新的sdo定义文档中有这钟说法
你那出错消息是在string->integer时发生的,而调用WebService对参数序列化是全部到string。除非是返回值才可能string->integer,或者是服务器将string->integer
序列化就是把非字符的东西转化非字符并且b64的,因为ws是基于xml的,xml是由字符构成的.
TByteDynArray = array of Byte
如果在ws使用这TByteDynArray ,那么delphi包装发送的时候就自己转化加密.
例如
function getstr(str1:TByteDynArray):boolean;stdcall;
客户端就可以提交str1到服务器端.
其他的类型依次类推.如果是复杂的记录数据就强制转换下
TYouRecord(Str)
你也可以传递对象,这个方法书上有.