Merhaba arkadaşlar, e-fatura için bir entegratör ile iletişime geçmiştim. Bağlantı ve metod ların gönderimi ve geri dönüşleri alabiliyorum (httprio, d7 ile) fakat şöyle bir fonksiyon ve dönen bir değer var bir türlü value değerlerine erişemedim. Aşağıda fonksiyon ve dönen tipleri yazıyorum.
TotalCount, TotalPages gibi değerleri okuyabiliyorum fakat şu value.InvoiceDataArray[x] dolu gelmiyor yada ben okuyamıyorum. Yazdığım kod;
function GetEInvoiceUsers(const userInfo: UserInformation; const pagination: PagedQueryContext): SystemUsersResponse; stdcall; ///////////////////////////////////////////////////////////////////////// SystemUsersResponse = class; ///////////////////////////////////////////////////////////////////////// SystemUsersResponse = class(Response) private FValue: PagedResponseOfSystemUser; public destructor Destroy; override; published property Value: PagedResponseOfSystemUser read FValue write FValue; end; //////////////////////////////////////////////////////////////////////// PagedResponseOfSystemUser = class; ///////////////////////////////////////////////////////////////////////// PagedResponseOfSystemUser = class(TRemotable) private FPageIndex: Integer; FPageSize: Integer; FTotalCount: Integer; FTotalPages: Integer; FItems: Items; public constructor Create; override; destructor Destroy; override; function GetInvoiceDataArray(Index: Integer): InvoiceData; function GetInvoiceDataArrayLength: Integer; property InvoiceDataArray[Index: Integer]: InvoiceData read GetInvoiceDataArray; default; property Len: Integer read GetInvoiceDataArrayLength; published property PageIndex: Integer read FPageIndex write FPageIndex stored AS_ATTRIBUTE; property PageSize: Integer read FPageSize write FPageSize stored AS_ATTRIBUTE; property TotalCount: Integer read FTotalCount write FTotalCount stored AS_ATTRIBUTE; property TotalPages: Integer read FTotalPages write FTotalPages stored AS_ATTRIBUTE; property Items: Items read FItems write FItems; end; ////////////////////////////////////////////// InvoiceData = class(TRemotable) private FData: TByteDynArray; FLocalDocumentId: WideString; FExtraInformation: WideString; FInvoiceId: WideString; published property Data: TByteDynArray read FData write FData; property LocalDocumentId: WideString read FLocalDocumentId write FLocalDocumentId stored AS_ATTRIBUTE; property ExtraInformation: WideString read FExtraInformation write FExtraInformation stored AS_ATTRIBUTE; property InvoiceId: WideString read FInvoiceId write FInvoiceId stored AS_ATTRIBUTE; end; Items = array of InvoiceData; { "http://tempuri.org/" }
TotalCount, TotalPages gibi değerleri okuyabiliyorum fakat şu value.InvoiceDataArray[x] dolu gelmiyor yada ben okuyamıyorum. Yazdığım kod;
var userInfo:UserInformation; sayfala : PagedQueryContext; servis : IBasicIntegration; sysusers : systemUsersResponse; // PagedResponseOfSystemUser X:INTEGER; begin userInfo := UserInformation.Create; sayfala := PagedQueryContext.Create; sysusers := SystemUsersResponse.Create; try HTTPRIO1.HTTPWebNode.UseUTF8InHeader := True; Servis := GetIBasicIntegration(False, 'http://efatura-test.uyumsoft.com.tr/Services/BasicIntegration', HTTPRIO1); userInfo.Username:='Uyumsoft'; // test user userInfo.Password:='Uyumsoft'; // test pass sayfala.PageIndex:=1; sayfala.PageSize :=1; sysusers:=Servis.GetEInvoiceUsers(userInfo, sayfala); memo1.Text:='njt - T.Count : '+INTTOSTR(sysusers.Value.TotalCount)+' T.Pages : '+INTTOSTR(sysusers.Value.TotalPages); For X:=0 To 19 // her defasında 20 kayıt dönüyor Do Begin MEMO1.Lines.Add(INTTOSTR(X)+' - '+sysusers.Value.InvoiceDataArray[x].InvoiceId); // sürekli boş dönüyor End; except ShowMessage('hata'); end;aynı servise soapuni ile bağlanınca sonuçlar gayet düzgün dönüyor, aşağıda çıktısı var.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <GetEInvoiceUsersResponse xmlns="http://tempuri.org/"> <GetEInvoiceUsersResult IsSucceded="true"> <Value PageIndex="1" PageSize="20" TotalCount="6392" TotalPages="320"> <Items Identifier="1111111011" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-01-28T17:19:53" FirstCreateDate="2011-01-28T17:19:53" Enabled="true"/> <Items Identifier="1111111012" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-01-31T09:13:49" FirstCreateDate="2011-01-31T09:13:49" Enabled="true"/> <Items Identifier="1111111013" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-12-15T12:10:29" FirstCreateDate="2011-02-15T10:28:50" Enabled="true"/> <Items Identifier="1111111014" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-02-16T14:36:39" FirstCreateDate="2011-02-16T14:36:39" Enabled="true"/> <Items Identifier="1111111015" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-03-21T10:27:40" FirstCreateDate="2011-03-21T10:27:40" Enabled="true"/> <Items Identifier="1111111016" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-03-21T10:55:05" FirstCreateDate="2011-03-21T10:55:05" Enabled="true"/> <Items Identifier="1111111018" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-05-30T15:51:16" FirstCreateDate="2011-05-30T15:51:16" Enabled="true"/> <Items Identifier="1111111019" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-06-16T14:19:35" FirstCreateDate="2011-06-16T14:19:35" Enabled="true"/> <Items Identifier="1111111020" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-06-16T15:50:12" FirstCreateDate="2011-06-16T14:55:14" Enabled="true"/> <Items Identifier="1111111021" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-07-06T09:37:29" FirstCreateDate="2011-06-27T10:35:23" Enabled="true"/> <Items Identifier="1111111022" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-07-06T09:38:40" FirstCreateDate="2011-07-05T15:51:45" Enabled="true"/> <Items Identifier="1111111023" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-07-18T14:04:13" FirstCreateDate="2011-07-18T14:04:13" Enabled="true"/> <Items Identifier="1111111024" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-07-28T09:23:06" FirstCreateDate="2011-07-28T09:23:06" Enabled="true"/> <Items Identifier="1111111025" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-10-07T11:19:25" FirstCreateDate="2011-10-07T11:19:25" Enabled="true"/> <Items Identifier="1111111026" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-10-10T13:54:33" FirstCreateDate="2011-10-10T13:54:33" Enabled="true"/> <Items Identifier="1111111027" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-11-23T15:13:41" FirstCreateDate="2011-11-23T15:13:41" Enabled="true"/> <Items Identifier="1111111028" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-12-15T10:39:18" FirstCreateDate="2011-12-15T10:39:18" Enabled="true"/> <Items Identifier="1111111029" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-12-20T16:49:07" FirstCreateDate="2011-12-20T16:49:07" Enabled="true"/> <Items Identifier="1111111030" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2011-12-28T16:36:39" FirstCreateDate="2011-12-28T16:36:39" Enabled="true"/> <Items Identifier="1111111031" PostboxAlias="defaultpk" Title="xxx Test Kullanıcısı" Type="Özel" SystemCreateDate="2012-01-02T17:06:31" FirstCreateDate="2012-01-02T17:06:31" Enabled="true"/> </Value> </GetEInvoiceUsersResult> </GetEInvoiceUsersResponse> </s:Body> </s:Envelope>