Per JavaScript in HTML-Dokumenten auf Endpoint von MS-SQL2005 zugreifen

Cordt

New Member
Hallo liebe Leute und Experten!

Ich habe ein hartnäckiges Problem.
Und zwar möchte ich von einer HTML-Seite aus per Javascript über SOAP, bzw. das XMLHTTP-Objekt eine Stored Procedure in einer SQL-Server 2005 Datenbank aufrufen, die ich mit dem nötigen Create Endpoint-Statement als Webservice zur Verfügung gestellt habe.

Ich scheiter nun an der Implementierung des JavaScript-Codes, da ich einfach nicht weiß, was ich dem Webservice schicken soll.
Google konnte mir bezogen auf meine Fragestellungen nicht weiterhelfen, eine Lektüre über XML mit .NET und SQL-Server 2005 half ebenso wenig und nun stehe ich auf dem Schlauch.

Der Webservice funktioniert, kann ihn auch per c# einbinden, nur wie mache ich das ganze in JavaScript?

Wäre super, wenn mir dabei jemand helfen könnte, komme mir vor, als wäre ich der erste Mensch auf Erden, der dieses Problem hat :confused:

Viele Grüße

Cordt
 
Du mußt mit JavaScript eine SOAP-Nachricht bilden und diese per POST an den Service-Endpoint schicken.

Grundsätzlicher Aufbau einer SOAP-Nachricht:
Code:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://www.w3.org/2001/12/soap-envelope">
    <s:Header>
    </s:Header>
    <s:Body>
    </s:Body>
</s:Envelope>
Ein Request einer Server-Funktion mußt Du im Body eintragen. Dabei wird die Spezifikation vom SEP eingebunden:
Code:
<fnk:Funktionsname xmlns:fnk="http://server-endpoint-pfad">
    <fnk:param1>WERT</fnk:param1>
</fnk:Funktionsname>

Wenn Du diese SOAP-Message in einem String zusammenbaust kannst Du es mit folgendem (stark vereinfachtem) JavaScript verschicken:
Code:
xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "http://endservice-point", true);
xmlhttp.send(XML);
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
            //Auswertung
        }
    }
};

huschi.
 
Back
Top