Entwickler-Ecke

Internet / Netzwerk - Soapclient und Delphi 5


eraser_seb - Mi 02.06.10 09:26
Titel: Soapclient und Delphi 5
Hi Leute. Kann mir einer jemand Tipp geben wie ich ein Soap client in Delphi 5 Programmieren kann?

Danke euch schonmal in vorraus


Astat - Fr 04.06.10 10:20

user profile iconeraser_seb hat folgendes geschrieben Zum zitierten Posting springen:
Hi Leute. Kann mir einer jemand Tipp geben wie ich ein Soap client in Delphi 5 Programmieren kann?

Danke euch schonmal in vorraus


1. HTTP Header erstellen
2. SOAP Boady hinzufügen
3. Socket zum Webservice konnecten
4. HTTP + SOAPBODY absenden
5. Request auswerten

fertig.

HTTP + SOAPBODY Sample:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
POST /usr/app/WebSphere/connectors/WebServices HTTP/1.1
SOAPAction: ""
Content-Type: text/xml; charset=utf-8
User-Agent: Borland SOAP 2.0
Host: 10.1.1.77:8080
Content-Length: 1424
Expect: 100-continue
Connection: Keep-Alive
Cache-Control: no-cache


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ....>
  <SOAP-ENV:Body>
....
....
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>



lg. Astat

Moderiert von user profile iconNarses: Code-Tags hinzugefügt


cixx - Mi 23.06.10 10:33

ich greif gleich mal das Thema auf, da ich ein ähnliches Problem habe. Ich benutze auch Delphi5, dazu aber das SOAP-toolkit 3.0 von MS. Einfache Anfragen, bei denen der Rückgabetyp ein string ist, laufen fehlerfrei. Sobald ein complex type zurück kommt gehts schief. Sämtliche Zuweisungsversuche enden mit einer Fehlermeldung "Ungültige Variant-Typumwandlung".

Laut der WSDL ist die Antwort ein struct mit verschiedenen strings und int-werten. Vom reinen Verständnis her müsste ich diese geforderte Struktur irgendwo nachbilden und die Soap-Response dann dahin zuweisen. Das geht aber wie gesagt nicht. Hat irgendwer eine Idee?

Nachtrag: ich habe nur den Pfad zur WSDL und eine Beschreibung der MEthoden zur Verfügung, kein WSML-File