AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Webservice

Ein Thema von InschenierSB · begonnen am 25. Apr 2018 · letzter Beitrag vom 17. Mai 2018
Antwort Antwort
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Webservice

  Alt 26. Apr 2018, 14:43
Das heißt, wir müssen auch noch die Grundlagen der Objekt-orientierten Programmierung mit Delphi durchgehen?
Und der Bedienung von IDE und Debugger?

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;
    Response: 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
    { Private-Deklarationen }
    FLot: ILot;
  public
    { Public-Deklarationen }
  end;

  // GetLotInfoByLotNameRequest2 = class(BaseRequest2);
var
  Form1: TForm1;
  sResult: string;
  CheckSlotPos: boolean;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
  URL: string;
  Request: GetLotInfoByLotNameRequest2;
  Response: GetLotInfoByLotNameResponse2; //Oder so ähnlich. Du könntest auch einfach mal alles posten, du Fuchs!
begin
  URL := 'http://tst-rbg14:8019/Lot.svc';
  if not Assigned() then
  begin
    FLot := GetILot(False, URL);
  end;

  Request := GetLotInfoByLotNameRequest2.Create;
  Request.CheckSlotPo := True;
  Request.EquipmentValidation := True;
  Request.LotName := 'BlaBlupp';
  // usw. ich denke das Prinzip ist klar.

  Response := FLot.GetLotInfoByLotName(Request);
  if Assigned(Response) then
  begin
    ShowMessage(Response.IrgendeineTolleEigenschaftDieWirHierJetztNichtKennen);
  end;

end;

//procedure TForm1.HTTPRIO1AfterExecute(const MethodName: string;
// SOAPResponse: TStream);
//begin
//
// SOAPResponse.Position := 0;
// Response.Lines.LoadFromStream(SOAPResponse);
//end;
//
//procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
// SOAPRequest: TStream);
//begin
// SOAPRequest.Position := 0;
// Request.Lines.LoadFromStream(SOAPRequest);
//end;

end.
  Mit Zitat antworten Zitat
InschenierSB

Registriert seit: 25. Apr 2018
Ort: Regensburg
39 Beiträge
 
#2

AW: Webservice

  Alt 26. Apr 2018, 15:17
Naja ich habe ja auch noch 2 Bücher aus der Bibliothek,
aber naja von heute auf morgen lernt man das nicht.... das ist ja normal.
Ich habe dir mal das WSDL-Dokument und die Main.pas angehangen. Vielleicht kannst du es bei dir mal ausführen....
Danke schon mal.... wobei weiß nicht ob es kompatibel zu deiner Version ist.
Angehängte Dateien
Dateityp: 7z Lot_1.7z (15,3 KB, 5x aufgerufen)
Dateityp: 7z Main.7z (935 Bytes, 3x aufgerufen)
  Mit Zitat antworten Zitat
InschenierSB

Registriert seit: 25. Apr 2018
Ort: Regensburg
39 Beiträge
 
#3

AW: Webservice

  Alt 26. Apr 2018, 15:24
Ich denke dass ich es jetzt hinbekomme.
Aber noch eine Frage die Variablen nach dem Request. muss ich schon noch deklarieren, also die ....CheckSlotPos
..EquipmentValidation...
etc.
weil die sind ja sonst unbekannt??!

Request := GetLotInfoByLotNameRequest2.Create;
Request.CheckSlotPo := True;
Request.EquipmentValidation := True;
Request.LotName := 'BlaBlupp';
// usw. ich denke das Prinzip ist klar.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Webservice

  Alt 26. Apr 2018, 16:00
Wenn du diese Parameter ausfüllen möchtest oder musst, dann musst du die jeweilige Property hinschreiben und natürlich füllen.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Webservice

  Alt 26. Apr 2018, 16:08
Fang doch mal ganz klein an und baue dir ein Konsolenprogramm.
Tipp: Die Codevervollständigung der Delphi-IDE kannst du aufrufen, indem du den blinkenden Cursor hinter "Request." oder "Response." stellst und dann mit Strg + Leertaste aufrufst.
Dadurch siehst du die sogenannten Properties/Eigenschaften eines Objekts.
Im Response (vom Typ GetLotInfoByLotNameResponse2) sind es 38 Eigenschaften, die du abfragen und auswerten kannst.

Delphi-Quellcode:
program LoT;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  Winapi.Windows,
  Winapi.ActiveX,
  Lot_1 in 'Lot_1.pas';

procedure Main;
var
  LoT: ILot;
  Request: GetLotInfoByLotNameRequest2;
  Response: GetLotInfoByLotNameResponse2;
begin
  LoT := GetILot();
  if Assigned(LoT) then
  begin
    Request := GetLotInfoByLotNameRequest2.Create;
    try
      Request.CheckSlotPos := True;
      Request.EquipmentValidation := True;
      Request.LotName := 'Hier kommt ein String rein';
      Request.ReturnBrokenWafers := True;
      Request.UseSlotPosition := True;
      Request.ToolCode := 'Hier kommt ein String rein';

      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;

begin
  try
    CoInitializeEx(nil, 0);
    Main;
    CoUninitialize;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.
  Mit Zitat antworten Zitat
InschenierSB

Registriert seit: 25. Apr 2018
Ort: Regensburg
39 Beiträge
 
#6

AW: Webservice

  Alt 27. Apr 2018, 06:20
Fang doch mal ganz klein an und baue dir ein Konsolenprogramm.
Tipp: Die Codevervollständigung der Delphi-IDE kannst du aufrufen, indem du den blinkenden Cursor hinter "Request." oder "Response." stellst und dann mit Strg + Leertaste aufrufst.
Dadurch siehst du die sogenannten Properties/Eigenschaften eines Objekts.
Im Response (vom Typ GetLotInfoByLotNameResponse2) sind es 38 Eigenschaften, die du abfragen und auswerten kannst.

Ja das mit den Eigenschaften wusste ich ja auch, das ist genau das Gleiche, wenn ich einen Punkt hinter das Objekt mache, dann macht er automatisch die das Fenster mit der Scroll-Bar auf. Wie gesagt genau diese Eigenschaften sind aber nicht dabei, da meckert der Compiler.

Geändert von InschenierSB (27. Apr 2018 um 06:23 Uhr) Grund: wiederholten Code rausgenommen.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Webservice

  Alt 27. Apr 2018, 07:58
Wie gesagt genau diese Eigenschaften sind aber nicht dabei, da meckert der Compiler.
"Hallo Meister, bei meinen Auto leuchtet die Motorkontrollleuchte, was ist daran kaputt?"

Ohne genaue Fehler- und Problembeschreibung werden wir dir hier nicht helfen können.
Man kann die Fehlermeldungen vom Compiler im kopieren und hier einfügen.

Wenn du bspw. das oben gezeigte Konsolenprogramm nicht ausprobierst, dann können wir dir hier nicht weiterhelfen.

Weil das nämlich so wie es da steht, und man die Pascal-Unit mit der Dateiendung: *.pas dem Projekt hinzufügt, definitiv kompiliert.
Die Eigenschaften der Request- und Response-Klasse sind in der Unit "Lot_1.pas" vorhanden.
  Mit Zitat antworten Zitat
InschenierSB

Registriert seit: 25. Apr 2018
Ort: Regensburg
39 Beiträge
 
#8

AW: Webservice

  Alt 27. Apr 2018, 06:16
Wenn du diese Parameter ausfüllen möchtest oder musst, dann musst du die jeweilige Property hinschreiben und natürlich füllen.
Guten Morgen,
ja genau diese Parameter muss ich ausfüllen, das ist ja meine Problem seit 2 Wochen, diese Parameter zu übergeben.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz