Soap

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Soap

Beitrag von Jan »

Hallo,

wenn ich mir die Doku zu HTTPClient() ansehe, dann kann man damit auch SOAP machen. Allerdings tue ich mich da ein wenig schwer mit, weil SOAP so gar nicht meine Welt ist - wenn ich solche Zugriffe machen muß dann hab ich das bislang immer per REST gemacht, was in diesem Fall aber nicht geht da nicht unterstützt.

Ich habe also einfach mal das Grundgerüst aus der Xbase++-Doku genommen, den XML-Teil aus der Doku der anzufragenden Online-Datenbank eingebaut, und das Ganze abgeschickt. Da bekomme ich aber grundsätzlich nur ein 500 "Error reading XMLStreamReader" zurück.

Da ich jetzt nicht so ganz wirklich weiß wie SOAP da funktioniert hab ich dann mal mit den einzelnen Einstellungen des Alaska-Samples gespielt. Es ändert sich nichts daran.

Das hier ist das Sample, mit ich da rumprobiere:

Code: Alles auswählen

TEXT INTO soapRequest WRAP
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://gov.genealogy.net/ws">
   <soap:Body>
      <ws:searchByName>
         <placename>Hamburg</placename>
      </ws:searchByName>
   </soap:Body>
</soap:Envelope>
ENDTEXT

oHC := HttpClient():new("http://gov.genealogy.net/services/SimpleService")
oHC:setAcceptType("text/xml")
oHC:setAcceptCharSet("utf-8")
oHC:httpRequest:setHeader("SOAPAction", "urn:SimpleService")
oHC:httpRequest:setMethod("POST")
oHC:httpRequest:setContent(soapRequest))
cResult := oHC:send()
XB2.Net ist keine Alternative. Das schaff ich mir nicht für diese eine, eher unwichtige Funktion an.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Soap

Beitrag von ramses »

Hallo Jan

da du den einfachsten weil Bekannten, Dokumentierten und erprobten Weg (xb2net) bereits energisch ausschliessen tust und die Alaska Doku und Beispiele nicht sehr umfassend sind könntest du dich doch noch an Alaska wenden und um ein wenig Beispielcode bitten. ...

Für Soap sind, so meine Vermutung, einige Headerfelder anders gesetzt was der HTTPClient viellicht gar (noch) nicht beherscht.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Soap

Beitrag von Bernd Reinhardt »

Hallo

Habe gerade das Problem das ein Kunde von mir Daten per REST zur Verfügung stellt.
Leider habe ich in xBase++ nichts darüber gefunden, und bin auf der Suche auf diesen Post gestoßen.
Gibt es eine Anleitung wie ich mir die Daten per REST abholen kann.

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Martin_L
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 23
Registriert: Di, 02. Apr 2019 9:09
Danksagung erhalten: 6 Mal

Re: Soap

Beitrag von Martin_L »

Zu dem REST fällt mir gerade nichts ein.
Aber zu dem Ursprungspost kann ich was schreiben. Bei SOAP gibt es noch einen Zusatzblock um den xml-Teil:

Code: Alles auswählen

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:...="urn:microsoft-dynamics-schemas/...">
<soapenv:Header/>
   <soapenv:Body>
      <...:WriteDocumentWithResponse>
         <..:documentString><![CDATA[<?xml version="1.0" encoding="UTF-16"?>
"hier die xml-Daten"]]>
         </...:documentString>
      </...:WriteDocumentWithResponse>
   </soapenv:Body>
</soapenv:Envelope>
Die Details können aber je nach Schnittstelle anders ausehen, die ... stehen für spezielle Tags bei uns.
Liebe Grüße
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Soap

Beitrag von Jan »

Bernd,

in einem eigenen Projekt arbeite ich exzessiv mit REST-Abfragen. Nach ot4xp, LoadFromUrl() von Phil, LoadFromUrl() von Alaska (nachdem die das massiv aufgebohrt haben) bin ich inzwischen bei HTTPClient() gelandet. Das klappt sehr gut, stabil, und vor Allem auch schnell. Ist aber in der Konfiguration etwas umfangreicher, ohne das Forum und die XUG hätte ich das nicht hinbekommen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Soap

Beitrag von Jan »

Wo Bernd das Thema wieder auf gemacht hat fällt mir auf, das ich Carlos Hinweis nicht beantwortet hab. Sorry, war nicht absichtlich.

Es ist in der Tat so das ich das bei Alaska angefragt hatte. Till hat sich dankenswerter Weise der Frage angenommen und sie über das normale Maß einer normalen Supportanfrage hinaus beantwortet. So hatte er u. a. zwei fehlerhafte Einstellungen von mir korrigiert (eine davon war ansich grundsätzlich OK, aber der angesprochenen Webserver reagierte da wohl etwas sehr sensibel). Und angemerkt, das die Doku da um ein passendes Beispiel erweitert werden sollte. Und stellt in Aussicht, das es da besser auch ein Video zu geben sollte.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Soap

Beitrag von ramses »

Hallo Jan

danke für die Info.
Valar Morghulis

Gruss Carlo
Antworten