这是delphi调用cxf写的webservice,自动生成的接口文件
getListOfMedInfo = class(TRemotable)
private
Ftitle: WideString;
FNo: WideString;
FstartDate: WideString;
FendDate: WideString;
public
constructor Create; override;
published
property title: WideString read Ftitle write Ftitle;
property No: WideString read FcarNo write FcarNo;
property startDate: WideString read FstartDate write FstartDate;
property endDate: WideString read FendDate write FendDate;
end;
getListOfMedInfoResponse = class(TRemotable)
private
Freturn: return;
public
constructor Create; override;
destructor Destroy; override;
function GetMedInfoArray(Index: Integer): MedInfo;
function GetMedInfoArrayLength: Integer;
property MedInfoArray[Index: Integer]: MedInfo read GetMedInfoArray; default;
property Len: Integer read GetMedInfoArrayLength;
published
property return: return read Freturn write Freturn;
end;
IMedService = interface(IInvokable)
['{9F95E565-B557-9F0B-09D7-38B9B31FEB25}']
function getListOfMedInfo(const parameters: getListOfMedInfo): getListOfMedInfoResponse; stdcall;
end;
这是调用代码
var
ws:IMedService;
gi:getListOfMedInfo;
gir:getListOfMedInfoResponse;
begin
ws:=HTTPRIO1 as IMedService;
gi:=getListOfMedInfo.Create;
gi.Title:='vc';
gi.No:='256';
gi.startDate:='20130101';
gi.endDate:='20130110';
gir:=ws.getListOfMedInfo(gi);
上面都正常,执行到下面这几句就出错,请教各位要怎么写
showmessage(inttostr(gir.Len));
showmessage(gir.MedInfoArray[0].price);
------解决方案--------------------------------------------------------
查看gir.Len的值,是否正常
gir.MedInfoArray[0].price, 同上查看值是否正常
如果不正常就查gir是否正常
ps : 可以ctrl+F7调出窗口查看变量或对象内容
------解决方案--------------------------------------------------------
字符集编码是否一致
ws一般utf用的比较多