Импортирах WSDL (с помощта на откриване на автоматична версия...), сега, когато се опитвам да го използвам, получавам грешка, подобна на „липсва възел от най-високо ниво, ред: 0“, прекарах много часове в Google, за да намерете решение за това и видях, че много хора са имали същия проблем, но аз не можах да намеря решение за него.
Почти съм сигурен, че много от вас, разработчиците, са коригирали този проблем, така че въпросът ми е КАК?!
Когато импортира WSDL, той генерира главния интерфейс, който има помощни методи и специална функция, която връща главния интерфейс, пример:
type
array_of_string = array of string;
ASpecialInterface = interface(IInvokable)
//...
function ASpecialMethod(const dummyArg: string): array_of_string; stdcall;
//...
end;
и метод, който връща ASpecialInterface, пример:
function GetASpecialInterface(const UseWSDL: Boolean; const addr: string; const ahttprio: THTTPRio): ASpecialInterface;
ето моя проблем:
procedure TMyForm.OnAButtonClick(Sender: Tobject);
var
LArrayOfString: array_of_string;
LSpecialIntf: ASpecialInterface;
begin
// this works without any issue whatsoever
LSpecialIntf := GetASpecialInterface; // I call it with default params
// the next code raises the exception mentioned above
LArrayOfString := LSpecialIntf.ASpecialMethod(EmptyStr); // no param passed since the dummyArg is dummy
end;
Сега не съм сигурен дали това е ценно, но връзката се осъществява чрез SSL, т.е. https://domain.com/ а>...
РЕДАКТИРАНЕ: Съжалявам, забравих да спомена, че използвам Delphi 2010
Благодаря на всички за отделеното време.