Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie feuer ich einen SOAP Request über TSQL?
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 279

Themenstarter:

Wie feuer ich einen SOAP Request über TSQL?

beantworten | zitieren | melden

verwendetes Datenbanksystem: MSSMS 17

Hallo zusammen,

ich möchte gern meine Soap Request in Zukunft über die Datenbank abfeuern.
Ich hab mir dazu mal ein passendes Statement rausgesucht.
https://stackoverflow.com/questions/33449/can-you-call-a-webservice-from-tsql-code
CREATE PROCEDURE CALLWEBSERVICE(@Para1 ,@Para2)
AS
BEGIN
    Declare @Object as Int;
    Declare @ResponseText as Varchar(8000);

    Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
    Exec sp_OAMethod @Object, 'open', NULL, 'get', 'http://www.webservicex.com/stockquote.asmx/GetQuote?symbol=MSFT','false'
    Exec sp_OAMethod @Object, 'send'
    Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
    Select @ResponseText
    Exec sp_OADestroy @Object
END

Das Statement zum Xml Request hab ich mir von der SoapUI zusammenbauen lassen der funktioniert dort auch super, deswegen denke ich nicht das es daran liegt.

Mein Sql Statement gibt mir jedes mal als Response ein Null Wert zurück und die Request wird logischerweise auch nicht ausgeführt. Hat jemand damit Erfahrungen damit und sieht etwas was ich nicht sehe? Ich führe das Statement aktuell direkt aus nicht als Prozedur, denkt ihr das macht einen Unterschied? Lässt meine Soap Api vielleicht einfach nicht den Zugriff von der Datenbank aus zu?

Hab schon einiges probiert, aber bisher noch keinen Weg gefunden, sollte doch aber möglich sein oder?

Grüße
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 279

Themenstarter:

beantworten | zitieren | melden

Ich kriege schon beim ausführen von
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT

den Wert 16711422 zurück, aber müsste dort laut Doku nicht eine 0 wiederkommen wenn es erfolgreich war?

Nvm.
EXEC @hr = sp_OACreate 'MSXML2.XMLHTTP', @object OUT

Gibt korrekt eine 0 zurück.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von _Cashisclay am .
private Nachricht | Beiträge des Benutzers
_Cashisclay
myCSharp.de - Member



Dabei seit:
Beiträge: 279

Themenstarter:

beantworten | zitieren | melden

Kann geschlossen werden.

Die Lösungen :
https://stackoverflow.com/questions/41508557/soap-from-tsql-in-sql-serverhttps://stackoverflow.com/questions/29305600/grant-role-to-exec-stored-procedures

haben bei mir zum gewünschten Ergebnis geführt.
private Nachricht | Beiträge des Benutzers