DELPHI對(duì)接驗(yàn)證碼短信接口DEMO示例
//接口類型:互億無線觸發(fā)短信接口,支持發(fā)送驗(yàn)證碼短信、訂單通知短信等。//賬戶注冊(cè):請(qǐng)通過該地址開通賬戶 http://user.ihuyi.com/?DKimmu//注意事項(xiàng)://(1)調(diào)試期間,請(qǐng)使用用系統(tǒng)默認(rèn)的短信內(nèi)容:您的驗(yàn)證碼是:【變量】。請(qǐng)不要把驗(yàn)證碼泄露給其他人。//(2)請(qǐng)使用 用戶名 及 APIkey來調(diào)用接口,APIkey在會(huì)員中心可以獲?。?/(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫;// ************************************************************************ //// The types declared in this file were generated from data read from the// WSDL File described below:// WSDL : http://106.ihuyi.com/webservice/sms.php?wsdl// >Import : http://106.ihuyi.com/webservice/sms.php?wsdl:0// Encoding : utf-8// Version : 1.0// (2013/11/26 10:37:24 – – $Rev: 10138 $)// ************************************************************************ //unit sms;interfaceuses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;const IS_OPTN = $0001; IS_REF = $0080;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. // ************************************************************************ // // !:int – “http://www.w3.org/2001/XMLSchema”[Gbl] // !:string – “http://www.w3.org/2001/XMLSchema”[Gbl] // !:srting – “http://www.w3.org/2001/XMLSchema”[Gbl] SubmitResult = class; { “http://106.ihuyi.com/”[GblCplx] } ChangePasswordResult = class; { “http://106.ihuyi.com/”[GblCplx] } GetNumResult = class; { “http://106.ihuyi.com/”[GblCplx] } VersionInfoResult = class; { “http://106.ihuyi.com/”[GblCplx] } // ************************************************************************ // // XML : SubmitResult, global, // Namespace : http://106.ihuyi.com/ // ************************************************************************ // SubmitResult = class(TRemotable) private Fcode: Integer; Fmsg: WideString; Fsmsid: Integer; published property code: Integer read Fcode write Fcode; property msg: WideString read Fmsg write Fmsg; property smsid: Integer read Fsmsid write Fsmsid; end; // ************************************************************************ // // XML : ChangePasswordResult, global, // Namespace : http://106.ihuyi.com/ // ************************************************************************ // ChangePasswordResult = class(TRemotable) private Fcode: Integer; Fmsg: WideString; published property code: Integer read Fcode write Fcode; property msg: WideString read Fmsg write Fmsg; end; // ************************************************************************ // // XML : GetNumResult, global, // Namespace : http://106.ihuyi.com/ // ************************************************************************ // GetNumResult = class(TRemotable) private Fcode: Integer; Fmsg: WideString; Fnum: Integer; published property code: Integer read Fcode write Fcode; property msg: WideString read Fmsg write Fmsg; property num: Integer read Fnum write Fnum; end; // ************************************************************************ // // XML : VersionInfoResult, global, // Namespace : http://106.ihuyi.com/ // ************************************************************************ // VersionInfoResult = class(TRemotable) private Fmsg: WideString; published property msg: WideString read Fmsg write Fmsg; end; // ************************************************************************ // // Namespace : http://106.ihuyi.com/ // soapAction: http://106.ihuyi.com/%operationName% // transport : http://schemas.xmlsoap.org/soap/http // style : document // binding : smsSoap // service : sms // port : smsSoap // URL : http://106.ihuyi.com/webservice/sms.php?smsService // ************************************************************************ // smsSoap = interface(IInvokable) [‘{228902AE-4B53-39C9-05CA-F389FEE82174}’] function Submit(const account: WideString; const password: WideString; const mobile: WideString; const content: WideString): SubmitResult; stdcall; function ChangePassword(const account: WideString; const password: WideString; const newpassword: WideString): ChangePasswordResult; stdcall; function GetNum(const account: WideString; const password: WideString): GetNumResult; stdcall; function VersionInfo: VersionInfoResult; stdcall; end;function GetsmsSoap(UseWSDL: Boolean=System.False; Addr: string=”; HTTPRIO: THTTPRIO = nil): smsSoap;implementation uses SysUtils;function GetsmsSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): smsSoap;const defWSDL = ‘http://106.ihuyi.com/webservice/sms.php?wsdl’; defURL = ‘http://106.ihuyi.com/webservice/sms.php?smsService’; defSvc = ‘sms’; defPrt = ‘smsSoap’;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 smsSoap); 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;initialization InvRegistry.RegisterInterface(TypeInfo(smsSoap), ‘http://106.ihuyi.com/’, ‘utf-8’); InvRegistry.RegisterDefaultSOAPAction(TypeInfo(smsSoap), ‘http://106.ihuyi.com/%operationName%’); InvRegistry.RegisterInvokeOptions(TypeInfo(smsSoap), ioDocument); RemClassRegistry.RegisterXSClass(SubmitResult, ‘http://106.ihuyi.com/’, ‘SubmitResult’); RemClassRegistry.RegisterXSClass(ChangePasswordResult, ‘http://106.ihuyi.com/’, ‘ChangePasswordResult’); RemClassRegistry.RegisterXSClass(GetNumResult, ‘http://106.ihuyi.com/’, ‘GetNumResult’); RemClassRegistry.RegisterXSClass(VersionInfoResult, ‘http://106.ihuyi.com/’, ‘VersionInfoResult’);end.