Thema: Delphi Webservices

Einzelnen Beitrag anzeigen

Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#7

Re: Webservices

  Alt 28. Dez 2009, 14:42
Zitat von Cogito:
..mal ne Frage, kann ich mit Delphi 2010 Professional eigentlich eigene Webservices schreiben (nicht konsumieren)?
Hallo Cogito, natürlich kannst du mit jeder Delphi Version Webservices schreiben.
Die Frage ist nur, wieviel Arbeit du hineinstecken willst, d.h. bei Enterprise Versionen sind Wizards und vorgefertigte Klassen
vorhanden, die mehr oder weniger einfach in Webservern zu benutzen sind.
Solltest Du eine Version verwenden, die keine vorgefertigte Klassen und oder Komponenten enthält, musst Du dir die Dinger selber
programmieren. Natürlich auch den Webserver.

Ein Webservice, in Deinem Fall eine SOAP-Webservice Server ist denkbar einfach aufgebaut.

HTTP.Header + SOAP-Header = XML + Codierung (charset=utf-8) beachten.

Sample:

Delphi-Quellcode:
POST /usr/app/xxx/WebServices HTTP/1.1
SOAPAction: ""
Content-Type: text/xml; charset=utf-8
User-Agent: Borland SOAP 2.0
Host: 10.1.184.30:8080
Content-Length: 2288
Expect: 100-continue
Connection: Keep-Alive
Cache-Control: no-cache


<SOAP-ENV:..>
  <SOAP-ENV:Body>
    <m:yyy>
      <xxx>
        <m0:verb>Create</m0:verb>
        <Request>
          <Data>Nutzdaten</Data>
        </Request>
      </xxx>
    </m:yyy>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Obiges Beispiel zeigt den Empfangsbuffer eines mit recv empfangenen Requests eines Clients.

Das Parsen des Http und SOAP-Headers, musst du selber übernehmen, für Statische sich nicht oft ändernde Anwendungen, ist dies die billigste Methode. Natürlich Ist der "Webserver" hier nur auf einen bestimmten HTTP-SOAP, Request getrimmt, und ausserhalb jedes W3C Standards.

lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat