AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SOAP Envelope bearbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

SOAP Envelope bearbeiten

Ein Thema von wilroe · begonnen am 4. Aug 2016 · letzter Beitrag vom 5. Aug 2016
Antwort Antwort
wilroe

Registriert seit: 1. Mai 2016
Ort: Schöppingen
3 Beiträge
 
Delphi 2007 Architect
 
#1

SOAP Envelope bearbeiten

  Alt 4. Aug 2016, 12:41
Hallo zusammen,

Ich hoffe, Ihr könnt mir weiter helfen.

Ich möchte einen von einem externen Unternehmen angebotenen Web Service nutzen. Dazu nutze ich den WebServices WSDL Import in Delphi 2007. Anhand der eingegebenen Daten wird eine Unit generiert, über eine kleine Form erarbeite ich einen Input Satz und starte damit den Web Service. Es wird automatisch eine Anfrage mit einem SOAP Envelope erstellt, der folgendermaßen aussieht (Der Namespace ist nicht qualifiziert!):

bild_1.jpg

Beim Test mit der Anwendung „SOAP UI“ bekomme ich folgenden Fehler zurück:

bild_2.jpg

Nach Rücksprache mit dem Anbieter des Web Service habe ich festgestellt, dass mein Request wohl funktionieren würde, wenn folgende Änderungen im SOAP-Envelope realisiert würden. Die leeren Namespaces (xmlns=““) stören offensichtlich nicht. Ein Test mit „SOAP UI“ bestätigt das. Ich bekomme eine korrekte Antwort.

bild_3.jpg

Body Elemente benötigen offenbar einen qualifizierten Namespace (hier „guid“). Der wird bei der Generierung nicht mitgeliefert. Und ich habe derzeit keinen blassen Schimmer, wie ich das nachträglich anpassen soll. Einen Schalter bzw. eine Einstellungsmöglichkeit habe ich dafür nicht gefunden.

Kann mir da eventuell jemand helfen?

LG Willi
Willi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SOAP Envelope bearbeiten

  Alt 4. Aug 2016, 14:26
Hallo, als erster Ansatz kann das hier dienen: http://stackoverflow.com/questions/1...nbeforeexecute (wobei ich hier wohl eher mit "echtem" XML arbeiten würde, anstatt mit einer Stringliste).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
wilroe

Registriert seit: 1. Mai 2016
Ort: Schöppingen
3 Beiträge
 
Delphi 2007 Architect
 
#3

AW: SOAP Envelope bearbeiten

  Alt 4. Aug 2016, 15:16
Danke Detlef,

bin ich vorhin schon drauf gestoßen, habe aber das Problem, dass er mir bei:

RIO.OnBeforeExecute := RIO_BeforeExecute;

den Fehler "E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'" schmeißt.

Willi
Willi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: SOAP Envelope bearbeiten

  Alt 4. Aug 2016, 16:16
RIO_BeforeExecute muss auch eine Methode einer Klasse (notfalls der eigenen) sein.

[edit] Zur Verdeutlichung:
Delphi-Quellcode:
(* Reguläre Prozedur *)
procedure TuWas;
begin
  //Code
end;

(* (Instanz-)Methode der Klasse TDingens *)
type
  TDingens = class
  public
    //Deklaration
    procedure TuWas;
  end;

...

//Implementation
procedure TDingens.Tuwas;
begin
  //Code
end;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 4. Aug 2016 um 18:47 Uhr)
  Mit Zitat antworten Zitat
wilroe

Registriert seit: 1. Mai 2016
Ort: Schöppingen
3 Beiträge
 
Delphi 2007 Architect
 
#5

AW: SOAP Envelope bearbeiten

  Alt 5. Aug 2016, 18:35
Hallo Detlef,

vielen Dank. Hat mir sehr geholfen. Problem gelöst.

Schönes Wochenende
Willi
Willi
  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 20:15 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