Seite 1 von 1

Soap

Verfasst: Sa, 23. Feb 2019 9:11
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

Re: Soap

Verfasst: So, 24. Feb 2019 14:03
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

Re: Soap

Verfasst: Di, 25. Jun 2019 14:33
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

Re: Soap

Verfasst: Di, 25. Jun 2019 14:43
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

Re: Soap

Verfasst: Di, 25. Jun 2019 15:26
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

Re: Soap

Verfasst: Di, 25. Jun 2019 15:32
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

Re: Soap

Verfasst: Do, 27. Jun 2019 19:41
von ramses
Hallo Jan

danke für die Info.