webservice 超时设置问题 传递给系统调用的数据区域太小(200)

  • 主题发起人 主题发起人 Devchenxip
  • 开始时间 开始时间
D

Devchenxip

Unregistered / Unconfirmed
GUEST, unregistred user!
请问delphi如何设置webservice的超时。。小弟设置了RIO.HTTPWebNode.ConnectTimeout:= 30000;后,调用时出现错误“传递给系统调用的数据区域太小”。。。请各位大虾赐教。。
 
跟了一下代码,发现调用了windows的GetLastError函数,返回122错误码,这个错误码就是"传递给系统调用的数据区域太小"...但是不知道为什么会返回这个值..望高人指点..
 
delphi的SOAP默认使用 WinInet来访问HTTP服务器, 很多函数都会返回这个值, 估计是你返回数据太大引起吧.
 
我返回的数据是一个数组.定义如下..unit wsResultEntity;interfaceuses InvokeRegistry, Classes, DB;type TSearchResultItem = class; TResult = array of TSearchResultItem; TSearchResultItem = class(TRemotable) private FLastModifyTime: string; FRemark: string; FID: string; FInputDateTime: string; FName: string; FGameType: string; FCode: string; FResourceType: string; FKind: string; FResCode: string; FMiniatureFileName: string; FProductTypeDesc: string; published property ID: string read FID write FID; property Code: string read FCode write FCode; property Name: string read FName write FName; property ResCode: string read FResCode write FResCode; property Kind: string read FKind write FKind; property ResourceType: string read FResourceType write FResourceType; property GameType: string read FGameType write FGameType; property InputDateTime: string read FInputDateTime write FInputDateTime; property LastModifyTime: string read FLastModifyTime write FLastModifyTime; property Remark: string read FRemark write FRemark; property ProductTypeDesc: string read FProductTypeDesc write FProductTypeDesc; property MiniatureFileName: string read FMiniatureFileName write FMiniatureFileName; end;implementationinitialization RemClassRegistry.RegisterXSClass(TSearchResultItem); RemClassRegistry.RegisterXSInfo(TypeInfo(TResult));finalization RemClassRegistry.UnRegisterXSInfo(TypeInfo(TResult)); RemClassRegistry.UnRegisterXSClass(TSearchResultItem); end.或者有哪位大虾直接指点一下如何对webservice进行超时设置(是在服务端设置还是客户端设置)...感激不尽!
 
首先就要知道你的D是什么版本的? 我也想知道,不过有人回答说Delphi7用的是旧的协议,所以不行,新的版本应该可以的,你可以试一下!
 
是Delphi, 是说客户端需要用高版本的吗?
 
装了2010,重新编译客户端,问题解决了。。多谢大家!
 
后退
顶部