안녕하세요.
XML에서 Header에 값을 넣는 것은 데모소스를 보고 알았는데요.
제대로 전송되는 확인하려고 하니 잘 모르겠습니다.
========예제 소스 ==============
procedure TClientForm.DepositButtonClick(Sender: TObject);
var
H: AuthHeader;
svc: IBankAccount;
begin
svc := GetService;
H := AuthHeader.Create;
try
H.AccNumber := FAuthKey;
H.TimeStamp := DateTimeToXSDateTime(FTimeStamp, True);
if UseHeader then
(svc as ISOAPHeaders).send(H);
{ Call the deposit method }
BalanceEdit.Text := CurrToStrF(svc.deposit(StrToFloat(DepositAmount.Text)), ffCurrency,2);
=========
//여기서 전송되는 svc.deposit 함수와 해더를 포함해서 보내는 문장을 XML 형태를 볼 수는 없을까요?
==========
finally
H.Free
end;
end;
컴포넌트(HTTPRIO)가 제공을 해주고 있더군요.
HTTPRIO 이 컴포넌트를 제공해주는 svc 라는 interface 형으로 변경해서
사용하시면 쉽게 보실수 있네요.
Result := HTTPRIO1 as XXXSoap;
그리고 제공해주는 이벤트를 활용하시면 전송되고 받아온 소스를 보실 수 있습니다.
보낼 것을 보여주는 이벤트
HTTPRIO1BeforeExecute(const MethodName: string;
var SOAPRequest: WideString);
받은 것을 보여주는 이벤트
HTTPRIO1AfterExecute(const MethodName: string;
SOAPResponse: TStream);
참고로 델파이가 설치된 데모폴더에 가시면 SOAPHeaders 소스 확인 하시면 도움됩니다.
즐거운 마지막 2007년 되세요.