AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi SOAP WSDL Import ohne Header - Tokyo 10.2

SOAP WSDL Import ohne Header - Tokyo 10.2

Ein Thema von fisipjm · begonnen am 30. Sep 2019 · letzter Beitrag vom 7. Okt 2019
 
fisipjm

Registriert seit: 28. Okt 2013
333 Beiträge
 
Delphi 12 Athens
 
#4

AW: SOAP WSDL Import ohne Header - Tokyo 10.2

  Alt 2. Okt 2019, 13:42
Neuer Tag neues Glück

Ich hab es mittlerweile hin bekommen den SOAP-HEADER zu erweitern. Ich mache es mit dem ObjectToSOAP Event eines TsoapHeader Objekts und CASTE mein Webservice als ISOAPHeader sieht dann so aus:

Delphi-Quellcode:
type
  TUUID = class(TSoapHeader)
  private
    FUUID: string;
  public
    function ObjectToSOAP(RootNode, ParentNode: IXMLNode; const ObjConverter: IObjConverter;
      const NodeName, NodeNamespace, ChildNamespace: InvString; ObjConvOpts: TObjectConvertOptions;
      out RefID: InvString): IXMLNode; override;
  published
    property UUID: string read FUUID write FUUID;
  end;


....

function TUUID.ObjectToSOAP(RootNode, ParentNode: IXMLNode; const ObjConverter: IObjConverter;
  const NodeName, NodeNamespace, ChildNamespace: InvString; ObjConvOpts: TObjectConvertOptions; out RefID: InvString)
  : IXMLNode;
begin
  Result := ParentNode.AddChild('UUID');
  Result.Text := UUID;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  WebServiceKostenstelle: wsKostenstelleObj;
  lHeader : TSOAPHeader;
  lUUID : TUUID;
begin
  WebServiceKostenstelle := GetwsKostenstelleObj(true, '', HTTPRIO1);
  lUUID:= TUUID.Create;

  lUUID.UUID:='DEMO-UUID';
  (WebServiceKostenstelle as ISOAPHeaders).send(luuid);
  WebServiceKostenstelle.Connect_wsKostenstelle('', '', '');
end;
Leider bekomme ich die Anfrage nicht passend hin...

erwartet wird folgendes:
Code:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:kos="virrpcKostenstelle/kostenstelle">
   <soapenv:Header>
      <kostenstelleID xsi:type="kos:kostenstelleID">
         <UUID xsi:type="xsd:string">05a7df56e81ee20b:7328b961:1406ccf6a97:-7fff;&lt;virrpcKostenstelle|PX-279394|PO>;tliStYV2ghJRLlJRXflTXg==</UUID>
      </kostenstelleID>
   </soapenv:Header>
Meine Anfrage erzeugt aber das:

Code:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:UUID>DEMO-UUID</SOAP-ENV:UUID></SOAP-ENV:Header>
Wer langsam wahnsinnig und kenn mich leider auch nicht all zu gut mit XML aus jemand eine Idee?

Gruß
PJM
  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 16:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz