⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecardutilxmlrpcut.pas

📁 delphi的XMPRPC通讯例子
💻 PAS
字号:
unit ECardUtilXMLRPCUt;

interface
uses
  Windows,SysUtils,Classes,ECardXMLRPCUt,SystemInfoUt;
type
  TECardUtilXMLRPC = class
  private
    ECUT_ServerURL:string;
    ECUT_ECardXMLRPC: TECardXMLRPC;
    { Private declarations }
  public
    function ECUT_Init:Boolean;
    function ECUT_GetSysDict(DictType:string;var ResultCode: array of string):Boolean;
    function ECUT_GetSysTime(var SysTime:String;var ResultCode: array of string):Boolean;
    { Public declarations }
  end;

  var
  ECardUtilXMLRPC:TECardUtilXMLRPC;

implementation
uses
ConstValueUt;

function TECardUtilXMLRPC.ECUT_Init:Boolean;
begin
    Result:=false;
    ECUT_ECardXMLRPC:=TECardXMLRPC.Create('');
    ECUT_ServerURL:=SIU_RD_SystemServerConfig.UtilServerURL;
    Result:=true;
end;

function TECardUtilXMLRPC.ECUT_GetSysDict(DictType:string;var ResultCode: array of string):Boolean;
var
InfoXml:String;

begin
Result:=false;
 try

   with ECUT_ECardXMLRPC do begin
    EC_Request.URL :=ECUT_ServerURL;
    EC_Request.MethodName := 'system.system_dict';
    EC_Request.Params.Param.Clear;
    EC_Response.params.param.Clear;
    EC_Request.Params.Param.AddString(DictType);
    EC_Request.Params.Param.AddString(SIU_RD_OPSerInfo.sid);
    EC_Response.ProcessRequest(EC_Request);
    InfoXml:='';
      if EC_Response.IsFault then
       exit
      else
        begin
          InfoXml:=EC_Response.params.param.Strings[0];
          DecodeResultErr(InfoXml,ResultCode);
          if ResultCode[0]='0' then
           SysDictDecode(InfoXml,DictType,ResultCode);
        end;
    end;

  except
    exit;
  end;
Result:=true;

end;

function TECardUtilXMLRPC.ECUT_GetSysTime(var SysTime:String;var ResultCode: array of string):Boolean;
var
InfoXml:string;

begin
 Result:=false;
 try

   with ECUT_ECardXMLRPC do begin
    EC_Request.URL :=ECUT_ServerURL;
    EC_Request.MethodName := 'system.system_time';
    EC_Request.Params.Param.Clear;
    EC_Response.params.param.Clear;
    EC_Response.ProcessRequest(EC_Request);
    InfoXml:='';
      if EC_Response.IsFault then
       exit
      else
        begin
          InfoXml:=EC_Response.params.param.Strings[0];
          DecodeResultErr(InfoXml,ResultCode);
          if ResultCode[0]='0' then
          begin
            SysVrDecode(CT_SVR_DecodeType[0],InfoXml);
            SysTime:=InfoXml;
          end;
        end;
    end;

  except
    exit;
  end;
Result:=true;

end;
end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -