Hallo TiGü,
ja okay also nachfolgend der Code.
Ich habe es jetzt soweit hinbekommen, dass keine Fehlermeldung mehr beim Ausführen erscheint. Jetzt fehlt mir nur noch dass die Response in einem Memo Fenster erscheint. Der ganze Schmarrn soll einfach nur in dem Fenster erscheinen wie mache ich das am besten?!
Die Eingabe Parameter akzeptiert der Server so anscheinend.
Warum hattest du mir das mit diesem
SOAP Response und Request vorher aus kommentiert, da sieht man doch immer ganz schön die Anfrage des Clients in einem Memo?
Hatte das einen bestimmten Grund?
Delphi-Quellcode:
unit Main;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Soap.InvokeRegistry,
Vcl.StdCtrls, Lot_1,
Soap.Rio,
Soap.SOAPHTTPClient;
type
TForm1 =
class(TForm)
Button1: TButton;
Request: TMemo;
Respo: TMemo;
Result: TMemo;
HTTPRIO1: THTTPRIO;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
(* procedure HTTPRIO1AfterExecute(const MethodName: string;
SOAPResponse: TStream);
procedure HTTPRIO1BeforeExecute(const MethodName: string;
SOAPRequest: TStream); *)
procedure Button1Click(Sender: TObject);
private
FLot: ILot;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
sResult:
string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
// HTTPRIO1.URL:='http://tst-rbg14:8019/Lot.svc';
// URL := 'http://tst-rbg14:8019/Lot.svc';
// EquipmentValidation:=True;
// (HTTPRIO1 as ILot).GetLotInfoByLotName(LotName);
//if not Assigned(Response) then
var
LoT: ILot;
Request: GetLotInfoByLotNameRequest2;
Response: GetLotInfoByLotNameResponse2;
begin
LoT := GetILot();
if Assigned(LoT)
then
begin
HTTPRIO1.URL:='
http://tst-rbg14:8019/Lot.svc';
Request := GetLotInfoByLotNameRequest2.Create;
try
Request.CheckSlotPos := False;
Request.EquipmentValidation := False;
Request.LotName := '
R173419P';
Request.ReturnBrokenWafers := True;
Request.UseSlotPosition := False;
Request.ToolCode := '
1ELAM3';
Response := LoT.GetLotInfoByLotName(Request);
if Assigned(Response)
then
begin
// Writeln(Response.Facility);
// Writeln(Response.LotName);
// Writeln(Response.Operation);
// usw.
//
//Response.Free;
end;
finally
Request.Free;
end;
end;
end;
end.
(*
procedure TForm1.HTTPRIO1AfterExecute(const MethodName: string;
SOAPResponse: TStream);
begin
SoapResponse.Position:= 0;
Respo.Lines.LoadFromStream(SoapResponse);
end;
procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
SOAPRequest: TStream);
begin
SoapRequest.Position:= 0;
Request.Lines.LoadFromStream(SoapRequest);
end; *)