WSDL 가져 오기 도구를 사용하여 Delphi XE에서 웹 서비스를 만들었습니다. 델파이는 IT 트랜스미터 인터페이스와 GetITransmitter 함수를 사용하여 ITransmitter1.pas 모듈을 생성했습니다. Delphi 웹 서비스는 어떻게 작동합니까? (런타임에서 메소드 추가하기) ??
내가 사용하는 웹 서비스를 사용하려면 ...var Transmitter: ITransmitter;
begin
Transmitter := GetITransmitter(True, '', nil);
Transmitter.Transmit(Memo1.Text, OutXML);
end;
하지만 난이 방법 전송 어디서나 몸을 볼 수 없습니다 ITransmitter.pas에서
내가 볼 :
InvRegistry.RegisterInterface(TypeInfo(ITransmitter), 'urn:TransmitterIntf-ITransmitter', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ITransmitter), 'urn:TransmitterIntf-ITransmitter#Transmit');
내가 언급하는 경우 이 라인은 "인터페이스 지원되지 않음"오류가 발생합니다. 여기에서 알 수 있듯이 델파이는 RunTime에 메서드를 추가하고 있습니다! 어떻게 작동합니까? 내 자신의 클래스에 런타임에 메서드를 추가 할 수 있습니까?
내 Transmitter.Transmit 메소드를 디버그 할 수 없습니다. 그리고 나는 여전히 어떤 메소드가 실제로 Transmitter.Transmit을 호출 할 때 실행되는 지 궁금해? 일반적으로 어떤 메서드를 호출하면 일부 .pas 파일에 코드가있는 것을 볼 수 있습니다. 이제는이 메서드를 호출 할 때 실제로 어떤 일이 발생하는지 전혀 모른다 ... – Astronavigator