AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Webservice

Ein Thema von InschenierSB · begonnen am 25. Apr 2018 · letzter Beitrag vom 17. Mai 2018
Antwort Antwort
Seite 4 von 9   « Erste     234 56     Letzte » 
InschenierSB

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

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
InschenierSB

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

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.060 Beiträge
 
Delphi 10.4 Sydney
 
#33

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
 
#34

AW: Webservice

  Alt 27. Apr 2018, 09:06
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;  *)
  Mit Zitat antworten Zitat
TiGü

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

AW: Webservice

  Alt 27. Apr 2018, 09:21
Der ganze Schmarrn soll einfach nur in dem Fenster erscheinen wie mache ich das am besten?!
Delphi-Quellcode:
Respo.Lines.Add('Facility: ' + Response.Facility);
Respo.Lines.Add('LotName: ' + Response.LotName);
Respo.Lines.Add('LotName: ' + Response.LotName);
Respo.Lines.Add('NumberOfWafers: ' + Response.NumberOfWafers.DecimalString);
Respo.Lines.Add('IsEDCRequired ' + BoolToStr(Response.IsEDCRequired, True));
Prinzip verstanden?
Bei den komplexeren Datentypen wie die Eigenschaften ActualCSA, EdcEpaEquipmentList und LotAttributes wird es natürlich schwierig mit deinem Vorwissen.

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?
Damit du dich auf das Wesentliche konzentrierst! Außerdem hast du so nur die reinen XML-Requests - und Responses gesehen. Das nützt dir aber in der Weiterverarbeitung der Daten nichts. (Logging und Debugging ausgenommen).
  Mit Zitat antworten Zitat
InschenierSB

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

AW: Webservice

  Alt 27. Apr 2018, 09:56
Delphi-Quellcode:
Respo.Lines.Add('Facility: ' + Response.Facility);
Respo.Lines.Add('LotName: ' + Response.LotName);
Respo.Lines.Add('LotName: ' + Response.LotName);
Respo.Lines.Add('NumberOfWafers: ' + Response.NumberOfWafers.DecimalString);
Respo.Lines.Add('IsEDCRequired ' + BoolToStr(Response.IsEDCRequired, True));
Prinzip verstanden?

Ja ich denke schon.... aber bei der Zeile:Respo.Lines.Add('NumberOfWafers: ' + Response.NumberOfWafers.DecimalString); meckert er noch: Der Compiler sagt dass 'string' und 'TXSDecimal' Inkompatible Typen sind. Wie kann ich jetzt das NumberOfWafers umwandeln.
Bei den komplexeren Datentypen wie die Eigenschaften ActualCSA, EdcEpaEquipmentList und LotAttributes wird es natürlich schwierig mit deinem Vorwissen.

Das wäre jetzt erstmal nicht so wild, das würde ich dann vielleicht auch noch hinbekommen, habe noch ein paar Monate Zeit, die Anbindung in die vorhandene GUI einzubinden. Das WICHTIGSTE ist jetzt erstmal mit einer bestimmten Anfrage überhaupt eine Antwort vom Sever zu bekommen, da die ganze Geschichte noch über einen VPN läuft der auch bestimmte Zertifikate benötigt. Aber diese Verbindung habe ich ja schon über meinen Browser aufgebaut.
  Mit Zitat antworten Zitat
TiGü

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

AW: Webservice

  Alt 27. Apr 2018, 10:04
aber bei der Zeile:Respo.Lines.Add('NumberOfWafers: ' + Response.NumberOfWafers.DecimalString); meckert er noch: Der Compiler sagt dass 'string' und 'TXSDecimal' Inkompatible Typen sind. Wie kann ich jetzt das NumberOfWafers umwandeln.
Bitte nicht meine Beispiele abtippen sondern kopieren.
Insofern du eine TMemo-Klasse mit den Namen Respo auf dem Formular hast, kompiliert die Zeile Respo.Lines.Add('NumberOfWafers: ' + Response.NumberOfWafers.DecimalString); ohne Probleme.
DecimalString ist schon vom geforderten Typ string .
  Mit Zitat antworten Zitat
TiGü

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

AW: Webservice

  Alt 27. Apr 2018, 10:07
Sollte TXSDecimal.DecimalString nicht in D2010 vorhanden sein - das kann ja gut sein - dann bitte einfach schreiben:
Respo.Lines.Add('NumberOfWafers: ' + string(Response.NumberOfWafers.AsBcd));
  Mit Zitat antworten Zitat
InschenierSB

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

AW: Webservice

  Alt 27. Apr 2018, 10:16
Sollte TXSDecimal.DecimalString nicht in D2010 vorhanden sein - das kann ja gut sein - dann bitte einfach schreiben:
Respo.Lines.Add('NumberOfWafers: ' + string(Response.NumberOfWafers.AsBcd));
Also es funktioniert jetzt....Wahnsinn... ganz Großes Lob hauptsächlich an dich aber die anderen natürlich auch.
Jetzt ist es Zeit für die Belohnung....
  Mit Zitat antworten Zitat
TiGü

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

AW: Webservice

  Alt 27. Apr 2018, 10:17
Jetzt ist es Zeit für die Belohnung....
Deinen Wochenlohn nehme ich gerne per PayPal entgegen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:26 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