Протокол сгенерирован на основе WSDL документа http://www.rsdn.ru/ws/janusAT.asmx?WSDL
Описание протокола доступно на его странице.
// ************************************************************************ // // The types declared in this file were generated from data read from the // WSDL File described below: // WSDL : http://www.rsdn.ru/ws/janusAT.asmx?WSDL // Encoding : utf-8 // Version : 1.0 // (29.07.2008 16:30:13 - 1.33.2.5) // ************************************************************************ // unit janusAT; interface uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns; type // ************************************************************************ // // The following types, referred to in the WSDL document are not being represented // in this file. They are either aliases[@] of other types represented or were referred // to but never[!] declared in the document. The types from the latter category // typically map to predefined/known XML or Borland types; however, they could also // indicate incorrect WSDL documents that failed to declare or import a schema type. // ************************************************************************ // // !:string - "http://www.w3.org/2001/XMLSchema" // !:int - "http://www.w3.org/2001/XMLSchema" // !:dateTime - "http://www.w3.org/2001/XMLSchema" // !:boolean - "http://www.w3.org/2001/XMLSchema" // !:base64Binary - "http://www.w3.org/2001/XMLSchema" TopicRequest = class; { "http://rsdn.ru/Janus/" } TopicResponse = class; { "http://rsdn.ru/Janus/" } JanusMessageInfo = class; { "http://rsdn.ru/Janus/" } JanusRatingInfo = class; { "http://rsdn.ru/Janus/" } JanusModerateInfo = class; { "http://rsdn.ru/Janus/" } ChangeRequest = class; { "http://rsdn.ru/Janus/" } RequestForumInfo = class; { "http://rsdn.ru/Janus/" } ChangeResponse = class; { "http://rsdn.ru/Janus/" } ForumRequest = class; { "http://rsdn.ru/Janus/" } ForumResponse = class; { "http://rsdn.ru/Janus/" } JanusForumInfo = class; { "http://rsdn.ru/Janus/" } JanusForumGroupInfo = class; { "http://rsdn.ru/Janus/" } UserRequest = class; { "http://rsdn.ru/Janus/" } UserResponse = class; { "http://rsdn.ru/Janus/" } JanusUserInfo = class; { "http://rsdn.ru/Janus/" } PostRequest = class; { "http://rsdn.ru/Janus/" } PostMessageInfo = class; { "http://rsdn.ru/Janus/" } PostRatingInfo = class; { "http://rsdn.ru/Janus/" } PostModerateInfo = class; { "http://rsdn.ru/Janus/" } PostResponse = class; { "http://rsdn.ru/Janus/" } PostExceptionInfo = class; { "http://rsdn.ru/Janus/" } RatingExceptionInfo = class; { "http://rsdn.ru/Janus/" } ModerateExceptionInfo = class; { "http://rsdn.ru/Janus/" } { "http://rsdn.ru/Janus/" } UserRole = (Admin, Moderator, TeamMember, User, Expert, Anonym, Group); { "http://rsdn.ru/Janus/" } ModerateActionType = (MoveMessage, DeleteMessage, DeleteThread, DeleteErrorMessage, SplitThread, CloseTopic, OpenTopic); ArrayOfInt = array of Integer; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // TopicRequest = class(TRemotable) private FuserName: WideString; Fpassword: WideString; FmessageIds: ArrayOfInt; published property userName: WideString read FuserName write FuserName; property password: WideString read Fpassword write Fpassword; property messageIds: ArrayOfInt read FmessageIds write FmessageIds; end; ArrayOfJanusMessageInfo = array of JanusMessageInfo; { "http://rsdn.ru/Janus/" } ArrayOfJanusRatingInfo = array of JanusRatingInfo; { "http://rsdn.ru/Janus/" } ArrayOfJanusModerateInfo = array of JanusModerateInfo; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // TopicResponse = class(TRemotable) private FMessages: ArrayOfJanusMessageInfo; FRating: ArrayOfJanusRatingInfo; FModerate: ArrayOfJanusModerateInfo; public destructor Destroy; override; published property Messages: ArrayOfJanusMessageInfo read FMessages write FMessages; property Rating: ArrayOfJanusRatingInfo read FRating write FRating; property Moderate: ArrayOfJanusModerateInfo read FModerate write FModerate; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // JanusMessageInfo = class(TRemotable) private FmessageId: Integer; FtopicId: Integer; FparentId: Integer; FuserId: Integer; FforumId: Integer; Fsubject: WideString; FmessageName: WideString; FuserNick: WideString; Fmessage_: WideString; FarticleId: Integer; FmessageDate: TXSDateTime; FupdateDate: TXSDateTime; FuserRole: UserRole; FuserTitle: WideString; FuserTitleColor: Integer; FlastModerated: TXSDateTime; Fclosed: Boolean; public destructor Destroy; override; published property messageId: Integer read FmessageId write FmessageId; property topicId: Integer read FtopicId write FtopicId; property parentId: Integer read FparentId write FparentId; property userId: Integer read FuserId write FuserId; property forumId: Integer read FforumId write FforumId; property subject: WideString read Fsubject write Fsubject; property messageName: WideString read FmessageName write FmessageName; property userNick: WideString read FuserNick write FuserNick; property message_: WideString read Fmessage_ write Fmessage_; property articleId: Integer read FarticleId write FarticleId; property messageDate: TXSDateTime read FmessageDate write FmessageDate; property updateDate: TXSDateTime read FupdateDate write FupdateDate; property userRole: UserRole read FuserRole write FuserRole; property userTitle: WideString read FuserTitle write FuserTitle; property userTitleColor: Integer read FuserTitleColor write FuserTitleColor; property lastModerated: TXSDateTime read FlastModerated write FlastModerated; property closed: Boolean read Fclosed write Fclosed; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // JanusRatingInfo = class(TRemotable) private FmessageId: Integer; FtopicId: Integer; FuserId: Integer; FuserRating: Integer; Frate: Integer; FrateDate: TXSDateTime; public destructor Destroy; override; published property messageId: Integer read FmessageId write FmessageId; property topicId: Integer read FtopicId write FtopicId; property userId: Integer read FuserId write FuserId; property userRating: Integer read FuserRating write FuserRating; property rate: Integer read Frate write Frate; property rateDate: TXSDateTime read FrateDate write FrateDate; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // JanusModerateInfo = class(TRemotable) private FmessageId: Integer; FtopicId: Integer; FuserId: Integer; FforumId: Integer; Fcreate: TXSDateTime; public destructor Destroy; override; published property messageId: Integer read FmessageId write FmessageId; property topicId: Integer read FtopicId write FtopicId; property userId: Integer read FuserId write FuserId; property forumId: Integer read FforumId write FforumId; property create: TXSDateTime read Fcreate write Fcreate; end; ArrayOfRequestForumInfo = array of RequestForumInfo; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // ChangeRequest = class(TRemotable) private FuserName: WideString; Fpassword: WideString; FsubscribedForums: ArrayOfRequestForumInfo; FratingRowVersion: TByteDynArray; FmessageRowVersion: TByteDynArray; FmoderateRowVersion: TByteDynArray; FbreakMsgIds: ArrayOfInt; FbreakTopicIds: ArrayOfInt; FmaxOutput: Integer; public destructor Destroy; override; published property userName: WideString read FuserName write FuserName; property password: WideString read Fpassword write Fpassword; property subscribedForums: ArrayOfRequestForumInfo read FsubscribedForums write FsubscribedForums; property ratingRowVersion: TByteDynArray read FratingRowVersion write FratingRowVersion; property messageRowVersion: TByteDynArray read FmessageRowVersion write FmessageRowVersion; property moderateRowVersion: TByteDynArray read FmoderateRowVersion write FmoderateRowVersion; property breakMsgIds: ArrayOfInt read FbreakMsgIds write FbreakMsgIds; property breakTopicIds: ArrayOfInt read FbreakTopicIds write FbreakTopicIds; property maxOutput: Integer read FmaxOutput write FmaxOutput; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // RequestForumInfo = class(TRemotable) private FforumId: Integer; FisFirstRequest: Boolean; published property forumId: Integer read FforumId write FforumId; property isFirstRequest: Boolean read FisFirstRequest write FisFirstRequest; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // ChangeResponse = class(TRemotable) private FnewMessages: ArrayOfJanusMessageInfo; FnewRating: ArrayOfJanusRatingInfo; FnewModerate: ArrayOfJanusModerateInfo; FlastRatingRowVersion: TByteDynArray; FlastForumRowVersion: TByteDynArray; FlastModerateRowVersion: TByteDynArray; FuserId: Integer; public destructor Destroy; override; published property newMessages: ArrayOfJanusMessageInfo read FnewMessages write FnewMessages; property newRating: ArrayOfJanusRatingInfo read FnewRating write FnewRating; property newModerate: ArrayOfJanusModerateInfo read FnewModerate write FnewModerate; property lastRatingRowVersion: TByteDynArray read FlastRatingRowVersion write FlastRatingRowVersion; property lastForumRowVersion: TByteDynArray read FlastForumRowVersion write FlastForumRowVersion; property lastModerateRowVersion: TByteDynArray read FlastModerateRowVersion write FlastModerateRowVersion; property userId: Integer read FuserId write FuserId; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // ForumRequest = class(TRemotable) private FuserName: WideString; Fpassword: WideString; FforumsRowVersion: TByteDynArray; published property userName: WideString read FuserName write FuserName; property password: WideString read Fpassword write Fpassword; property forumsRowVersion: TByteDynArray read FforumsRowVersion write FforumsRowVersion; end; ArrayOfJanusForumInfo = array of JanusForumInfo; { "http://rsdn.ru/Janus/" } ArrayOfJanusForumGroupInfo = array of JanusForumGroupInfo; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // ForumResponse = class(TRemotable) private FforumList: ArrayOfJanusForumInfo; FgroupList: ArrayOfJanusForumGroupInfo; FforumsRowVersion: TByteDynArray; public destructor Destroy; override; published property forumList: ArrayOfJanusForumInfo read FforumList write FforumList; property groupList: ArrayOfJanusForumGroupInfo read FgroupList write FgroupList; property forumsRowVersion: TByteDynArray read FforumsRowVersion write FforumsRowVersion; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // JanusForumInfo = class(TRemotable) private FforumId: Integer; FforumGroupId: Integer; FshortForumName: WideString; FforumName: WideString; Frated: Integer; FinTop: Integer; FrateLimit: Integer; published property forumId: Integer read FforumId write FforumId; property forumGroupId: Integer read FforumGroupId write FforumGroupId; property shortForumName: WideString read FshortForumName write FshortForumName; property forumName: WideString read FforumName write FforumName; property rated: Integer read Frated write Frated; property inTop: Integer read FinTop write FinTop; property rateLimit: Integer read FrateLimit write FrateLimit; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // JanusForumGroupInfo = class(TRemotable) private FforumGroupId: Integer; FforumGroupName: WideString; FsortOrder: Integer; published property forumGroupId: Integer read FforumGroupId write FforumGroupId; property forumGroupName: WideString read FforumGroupName write FforumGroupName; property sortOrder: Integer read FsortOrder write FsortOrder; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // UserRequest = class(TRemotable) private FuserName: WideString; Fpassword: WideString; FlastRowVersion: TByteDynArray; FmaxOutput: Integer; published property userName: WideString read FuserName write FuserName; property password: WideString read Fpassword write Fpassword; property lastRowVersion: TByteDynArray read FlastRowVersion write FlastRowVersion; property maxOutput: Integer read FmaxOutput write FmaxOutput; end; ArrayOfJanusUserInfo = array of JanusUserInfo; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // UserResponse = class(TRemotable) private FlastRowVersion: TByteDynArray; Fusers: ArrayOfJanusUserInfo; public destructor Destroy; override; published property lastRowVersion: TByteDynArray read FlastRowVersion write FlastRowVersion; property users: ArrayOfJanusUserInfo read Fusers write Fusers; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // JanusUserInfo = class(TRemotable) private FuserId: Integer; FuserName: WideString; FuserNick: WideString; FrealName: WideString; FpublicEmail: WideString; FhomePage: WideString; Fspecialization: WideString; FwhereFrom: WideString; Forigin: WideString; FuserClass: Integer; published property userId: Integer read FuserId write FuserId; property userName: WideString read FuserName write FuserName; property userNick: WideString read FuserNick write FuserNick; property realName: WideString read FrealName write FrealName; property publicEmail: WideString read FpublicEmail write FpublicEmail; property homePage: WideString read FhomePage write FhomePage; property specialization: WideString read Fspecialization write Fspecialization; property whereFrom: WideString read FwhereFrom write FwhereFrom; property origin: WideString read Forigin write Forigin; property userClass: Integer read FuserClass write FuserClass; end; ArrayOfPostMessageInfo = array of PostMessageInfo; { "http://rsdn.ru/Janus/" } ArrayOfPostRatingInfo = array of PostRatingInfo; { "http://rsdn.ru/Janus/" } ArrayOfPostModerateInfo = array of PostModerateInfo; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // PostRequest = class(TRemotable) private FuserName: WideString; Fpassword: WideString; FwritedMessages: ArrayOfPostMessageInfo; Frates: ArrayOfPostRatingInfo; Fmoderates: ArrayOfPostModerateInfo; public destructor Destroy; override; published property userName: WideString read FuserName write FuserName; property password: WideString read Fpassword write Fpassword; property writedMessages: ArrayOfPostMessageInfo read FwritedMessages write FwritedMessages; property rates: ArrayOfPostRatingInfo read Frates write Frates; property moderates: ArrayOfPostModerateInfo read Fmoderates write Fmoderates; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // PostMessageInfo = class(TRemotable) private FlocalMessageId: Integer; FparentId: Integer; FforumId: Integer; Fsubject: WideString; Fmessage_: WideString; published property localMessageId: Integer read FlocalMessageId write FlocalMessageId; property parentId: Integer read FparentId write FparentId; property forumId: Integer read FforumId write FforumId; property subject: WideString read Fsubject write Fsubject; property message_: WideString read Fmessage_ write Fmessage_; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // PostRatingInfo = class(TRemotable) private FlocalRatingId: Integer; FmessageId: Integer; Frate: Integer; published property localRatingId: Integer read FlocalRatingId write FlocalRatingId; property messageId: Integer read FmessageId write FmessageId; property rate: Integer read Frate write Frate; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // PostModerateInfo = class(TRemotable) private FLocalModerateId: Integer; FMessageId: Integer; FModerateAction: ModerateActionType; FModerateToForumId: Integer; FDescription: WideString; FAsModerator: Boolean; published property LocalModerateId: Integer read FLocalModerateId write FLocalModerateId; property MessageId: Integer read FMessageId write FMessageId; property ModerateAction: ModerateActionType read FModerateAction write FModerateAction; property ModerateToForumId: Integer read FModerateToForumId write FModerateToForumId; property Description: WideString read FDescription write FDescription; property AsModerator: Boolean read FAsModerator write FAsModerator; end; ArrayOfPostExceptionInfo = array of PostExceptionInfo; { "http://rsdn.ru/Janus/" } ArrayOfRatingExceptionInfo = array of RatingExceptionInfo; { "http://rsdn.ru/Janus/" } ArrayOfModerateExceptionInfo = array of ModerateExceptionInfo; { "http://rsdn.ru/Janus/" } // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // PostResponse = class(TRemotable) private FcommitedIds: ArrayOfInt; Fexceptions: ArrayOfPostExceptionInfo; FcommitedRatingIds: ArrayOfInt; FratingExceptions: ArrayOfRatingExceptionInfo; FcommitedModerateIds: ArrayOfInt; FmoderateExceptions: ArrayOfModerateExceptionInfo; public destructor Destroy; override; published property commitedIds: ArrayOfInt read FcommitedIds write FcommitedIds; property exceptions: ArrayOfPostExceptionInfo read Fexceptions write Fexceptions; property commitedRatingIds: ArrayOfInt read FcommitedRatingIds write FcommitedRatingIds; property ratingExceptions: ArrayOfRatingExceptionInfo read FratingExceptions write FratingExceptions; property commitedModerateIds: ArrayOfInt read FcommitedModerateIds write FcommitedModerateIds; property moderateExceptions: ArrayOfModerateExceptionInfo read FmoderateExceptions write FmoderateExceptions; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // PostExceptionInfo = class(TRemotable) private Fexception: WideString; FlocalMessageId: Integer; Finfo: WideString; published property exception: WideString read Fexception write Fexception; property localMessageId: Integer read FlocalMessageId write FlocalMessageId; property info: WideString read Finfo write Finfo; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // RatingExceptionInfo = class(TRemotable) private Fexception: WideString; FlocalRatingId: Integer; Finfo: WideString; published property exception: WideString read Fexception write Fexception; property localRatingId: Integer read FlocalRatingId write FlocalRatingId; property info: WideString read Finfo write Finfo; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // ************************************************************************ // ModerateExceptionInfo = class(TRemotable) private FExceptionMessage: WideString; FLocalModerateId: Integer; FInfo: WideString; published property ExceptionMessage: WideString read FExceptionMessage write FExceptionMessage; property LocalModerateId: Integer read FLocalModerateId write FLocalModerateId; property Info: WideString read FInfo write FInfo; end; // ************************************************************************ // // Namespace : http://rsdn.ru/Janus/ // soapAction: http://rsdn.ru/Janus/%operationName% // transport : http://schemas.xmlsoap.org/soap/http // binding : JanusATSoap // service : JanusAT // port : JanusATSoap // URL : http://www.rsdn.ru/ws/janusAT.asmx // ************************************************************************ // JanusATSoap = interface(IInvokable) ['{F931A43E-480A-68B9-5A5F-E770117BFE0C}'] function GetTopicByMessage(const topicRequest: TopicRequest): TopicResponse; stdcall; function GetNewData(const changeRequest: ChangeRequest): ChangeResponse; stdcall; function GetForumList(const forumRequest: ForumRequest): ForumResponse; stdcall; function GetNewUsers(const userRequest: UserRequest): UserResponse; stdcall; procedure PostChange(const postRequest: PostRequest); stdcall; function PostChangeCommit: PostResponse; stdcall; procedure Check; stdcall; end; function GetJanusATSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): JanusATSoap; implementation function GetJanusATSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): JanusATSoap; const defWSDL = 'http://www.rsdn.ru/ws/janusAT.asmx?WSDL'; defURL = 'http://www.rsdn.ru/ws/janusAT.asmx'; defSvc = 'JanusAT'; defPrt = 'JanusATSoap'; var RIO: THTTPRIO; begin Result := nil; if (Addr = '') then begin if UseWSDL then Addr := defWSDL else Addr := defURL; end; if HTTPRIO = nil then RIO := THTTPRIO.Create(nil) else RIO := HTTPRIO; try Result := (RIO as JanusATSoap); if UseWSDL then begin RIO.WSDLLocation := Addr; RIO.Service := defSvc; RIO.Port := defPrt; end else RIO.URL := Addr; finally if (Result = nil) and (HTTPRIO = nil) then RIO.Free; end; end; destructor TopicResponse.Destroy; var I: Integer; begin for I := 0 to Length(FMessages)-1 do if Assigned(FMessages[I]) then FMessages[I].Free; SetLength(FMessages, 0); for I := 0 to Length(FRating)-1 do if Assigned(FRating[I]) then FRating[I].Free; SetLength(FRating, 0); for I := 0 to Length(FModerate)-1 do if Assigned(FModerate[I]) then FModerate[I].Free; SetLength(FModerate, 0); inherited Destroy; end; destructor JanusMessageInfo.Destroy; begin if Assigned(FmessageDate) then FmessageDate.Free; if Assigned(FupdateDate) then FupdateDate.Free; if Assigned(FlastModerated) then FlastModerated.Free; inherited Destroy; end; destructor JanusRatingInfo.Destroy; begin if Assigned(FrateDate) then FrateDate.Free; inherited Destroy; end; destructor JanusModerateInfo.Destroy; begin if Assigned(Fcreate) then Fcreate.Free; inherited Destroy; end; destructor ChangeRequest.Destroy; var I: Integer; begin for I := 0 to Length(FsubscribedForums)-1 do if Assigned(FsubscribedForums[I]) then FsubscribedForums[I].Free; SetLength(FsubscribedForums, 0); inherited Destroy; end; destructor ChangeResponse.Destroy; var I: Integer; begin for I := 0 to Length(FnewMessages)-1 do if Assigned(FnewMessages[I]) then FnewMessages[I].Free; SetLength(FnewMessages, 0); for I := 0 to Length(FnewRating)-1 do if Assigned(FnewRating[I]) then FnewRating[I].Free; SetLength(FnewRating, 0); for I := 0 to Length(FnewModerate)-1 do if Assigned(FnewModerate[I]) then FnewModerate[I].Free; SetLength(FnewModerate, 0); inherited Destroy; end; destructor ForumResponse.Destroy; var I: Integer; begin for I := 0 to Length(FforumList)-1 do if Assigned(FforumList[I]) then FforumList[I].Free; SetLength(FforumList, 0); for I := 0 to Length(FgroupList)-1 do if Assigned(FgroupList[I]) then FgroupList[I].Free; SetLength(FgroupList, 0); inherited Destroy; end; destructor UserResponse.Destroy; var I: Integer; begin for I := 0 to Length(Fusers)-1 do if Assigned(Fusers[I]) then Fusers[I].Free; SetLength(Fusers, 0); inherited Destroy; end; destructor PostRequest.Destroy; var I: Integer; begin for I := 0 to Length(FwritedMessages)-1 do if Assigned(FwritedMessages[I]) then FwritedMessages[I].Free; SetLength(FwritedMessages, 0); for I := 0 to Length(Frates)-1 do if Assigned(Frates[I]) then Frates[I].Free; SetLength(Frates, 0); for I := 0 to Length(Fmoderates)-1 do if Assigned(Fmoderates[I]) then Fmoderates[I].Free; SetLength(Fmoderates, 0); inherited Destroy; end; destructor PostResponse.Destroy; var I: Integer; begin for I := 0 to Length(Fexceptions)-1 do if Assigned(Fexceptions[I]) then Fexceptions[I].Free; SetLength(Fexceptions, 0); for I := 0 to Length(FratingExceptions)-1 do if Assigned(FratingExceptions[I]) then FratingExceptions[I].Free; SetLength(FratingExceptions, 0); for I := 0 to Length(FmoderateExceptions)-1 do if Assigned(FmoderateExceptions[I]) then FmoderateExceptions[I].Free; SetLength(FmoderateExceptions, 0); inherited Destroy; end; initialization InvRegistry.RegisterInterface(TypeInfo(JanusATSoap), 'http://rsdn.ru/Janus/', 'utf-8'); InvRegistry.RegisterDefaultSOAPAction(TypeInfo(JanusATSoap), 'http://rsdn.ru/Janus/%operationName%'); RemClassRegistry.RegisterXSInfo(TypeInfo(UserRole), 'http://rsdn.ru/Janus/', 'UserRole'); RemClassRegistry.RegisterXSInfo(TypeInfo(ModerateActionType), 'http://rsdn.ru/Janus/', 'ModerateActionType'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfInt), 'http://rsdn.ru/Janus/', 'ArrayOfInt'); RemClassRegistry.RegisterXSClass(TopicRequest, 'http://rsdn.ru/Janus/', 'TopicRequest'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfJanusMessageInfo), 'http://rsdn.ru/Janus/', 'ArrayOfJanusMessageInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfJanusRatingInfo), 'http://rsdn.ru/Janus/', 'ArrayOfJanusRatingInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfJanusModerateInfo), 'http://rsdn.ru/Janus/', 'ArrayOfJanusModerateInfo'); RemClassRegistry.RegisterXSClass(TopicResponse, 'http://rsdn.ru/Janus/', 'TopicResponse'); RemClassRegistry.RegisterXSClass(JanusMessageInfo, 'http://rsdn.ru/Janus/', 'JanusMessageInfo'); RemClassRegistry.RegisterExternalPropName(TypeInfo(JanusMessageInfo), 'message_', 'message'); RemClassRegistry.RegisterXSClass(JanusRatingInfo, 'http://rsdn.ru/Janus/', 'JanusRatingInfo'); RemClassRegistry.RegisterXSClass(JanusModerateInfo, 'http://rsdn.ru/Janus/', 'JanusModerateInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRequestForumInfo), 'http://rsdn.ru/Janus/', 'ArrayOfRequestForumInfo'); RemClassRegistry.RegisterXSClass(ChangeRequest, 'http://rsdn.ru/Janus/', 'ChangeRequest'); RemClassRegistry.RegisterXSClass(RequestForumInfo, 'http://rsdn.ru/Janus/', 'RequestForumInfo'); RemClassRegistry.RegisterXSClass(ChangeResponse, 'http://rsdn.ru/Janus/', 'ChangeResponse'); RemClassRegistry.RegisterXSClass(ForumRequest, 'http://rsdn.ru/Janus/', 'ForumRequest'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfJanusForumInfo), 'http://rsdn.ru/Janus/', 'ArrayOfJanusForumInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfJanusForumGroupInfo), 'http://rsdn.ru/Janus/', 'ArrayOfJanusForumGroupInfo'); RemClassRegistry.RegisterXSClass(ForumResponse, 'http://rsdn.ru/Janus/', 'ForumResponse'); RemClassRegistry.RegisterXSClass(JanusForumInfo, 'http://rsdn.ru/Janus/', 'JanusForumInfo'); RemClassRegistry.RegisterXSClass(JanusForumGroupInfo, 'http://rsdn.ru/Janus/', 'JanusForumGroupInfo'); RemClassRegistry.RegisterXSClass(UserRequest, 'http://rsdn.ru/Janus/', 'UserRequest'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfJanusUserInfo), 'http://rsdn.ru/Janus/', 'ArrayOfJanusUserInfo'); RemClassRegistry.RegisterXSClass(UserResponse, 'http://rsdn.ru/Janus/', 'UserResponse'); RemClassRegistry.RegisterXSClass(JanusUserInfo, 'http://rsdn.ru/Janus/', 'JanusUserInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPostMessageInfo), 'http://rsdn.ru/Janus/', 'ArrayOfPostMessageInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPostRatingInfo), 'http://rsdn.ru/Janus/', 'ArrayOfPostRatingInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPostModerateInfo), 'http://rsdn.ru/Janus/', 'ArrayOfPostModerateInfo'); RemClassRegistry.RegisterXSClass(PostRequest, 'http://rsdn.ru/Janus/', 'PostRequest'); RemClassRegistry.RegisterXSClass(PostMessageInfo, 'http://rsdn.ru/Janus/', 'PostMessageInfo'); RemClassRegistry.RegisterExternalPropName(TypeInfo(PostMessageInfo), 'message_', 'message'); RemClassRegistry.RegisterXSClass(PostRatingInfo, 'http://rsdn.ru/Janus/', 'PostRatingInfo'); RemClassRegistry.RegisterXSClass(PostModerateInfo, 'http://rsdn.ru/Janus/', 'PostModerateInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPostExceptionInfo), 'http://rsdn.ru/Janus/', 'ArrayOfPostExceptionInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRatingExceptionInfo), 'http://rsdn.ru/Janus/', 'ArrayOfRatingExceptionInfo'); RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfModerateExceptionInfo), 'http://rsdn.ru/Janus/', 'ArrayOfModerateExceptionInfo'); RemClassRegistry.RegisterXSClass(PostResponse, 'http://rsdn.ru/Janus/', 'PostResponse'); RemClassRegistry.RegisterXSClass(PostExceptionInfo, 'http://rsdn.ru/Janus/', 'PostExceptionInfo'); RemClassRegistry.RegisterXSClass(RatingExceptionInfo, 'http://rsdn.ru/Janus/', 'RatingExceptionInfo'); RemClassRegistry.RegisterXSClass(ModerateExceptionInfo, 'http://rsdn.ru/Janus/', 'ModerateExceptionInfo'); end.