Thursday, 21 August 2014

Delphi XE procedures instead of functions after WSDL importer execution



I am trying to consume a NAV 2009 web service from Delphi XE6 (in XE5 is the same), I used "Import WSDL" fron XE6 and the unit created exposes several SOAP methods as procedures instead of functions.


I paste a piece of code generated



Ficha_Cliente_Port = interface(IInvokable)
['{928A4E8E-B9A4-4C91-9666-D4DFE550D3CD}']
function Read_(const No: string): Ficha_Cliente; stdcall;
function ReadByRecId(const recId: string): Ficha_Cliente; stdcall;
function ReadMultiple(const filter: Array_Of_Ficha_Cliente_Filter; const bookmarkKey: string; const setSize: Integer): Ficha_Cliente_List; stdcall;
function IsUpdated(const Key: string): Boolean; stdcall;
function GetRecIdFromKey(const Key: string): string; stdcall;
procedure Create(const Ficha_Cliente: Ficha_Cliente); stdcall;
procedure CreateMultiple(const Ficha_Cliente_List: Ficha_Cliente_List); stdcall;
procedure Update(const Ficha_Cliente: Ficha_Cliente); stdcall;
procedure UpdateMultiple(const Ficha_Cliente_List: Ficha_Cliente_List); stdcall;
function Delete(const Key: string): Boolean; stdcall;
end;


For example the method Create has to return an object of Ficha_Cliente type and there is no return value in this case due to this kind of implementation as procedure instead of function.


I can consume all the functions but no procedures.


I consumed this web service from php and c# whithout problem but I do not know the way to do it with delphi, I am very newbie in Delphi.


Any suggestions?


Thanks in advance.


No comments:

Post a Comment