webForumDet fria alternativet

XMLHttpRequest och SOAP

JavaScript

1 svar · 780 visningar · startad av startail

Medlem sedan sep. 2000155 inlägg
Frågan#1

Hur fungerar egentligen SOAP och XMLHttpRequest i Javascript.

Jag försöker göra ett enkelt skript mot Västtrafiks SOAP server.

Här är vad jag försöker använda mig av.


Javascript....

function createXMLHTTPRequest2(async) 
{
        xmlhttp = new XMLHttpRequest();
      
        xmlhttp.open("POST","http://www.vasttrafik.se/External_Services/TravelPlanner.asmx", async);
        xmlhttp.setRequestHeader("Content-type", "soap/xml; charset=utf-8");
        return xmlhttp;
}

function createGetSMSCodesXMLRequest() {
    var request = '<?xml version="1.0" encoding="utf-8"?>'
    + '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
    + '  <soap12:Body>'
    + '    <GetSMSCodes xmlns="http://vasttrafik.se/">'
    + '       <identifier>' + IDENTIFIER + '</identifier>'
    + '    </GetSMSCodes>'
    + '  </soap12:Body>'
    + '</soap12:Envelope>';
    
    return request;
}

function fetchResult(theString) {

        var xmlhttp = createXMLHTTPRequest2(true);
        var request = createGetSMSCodesXMLRequest();

        xmlhttp.send(request);
        xmlhttp.onreadystatechange=function() {
                alert(xmlhttp.readyState + ' - ' + xmlhttp.status);
        }
}

HTML ...

<input type="text" name="value" />
<button name="Sök" onclick="fetchResult($('input[name=value]').val())">Sök</button>

Det enda jag får tillbaka är
readyState: 2
status: 0
readyState: 4
status: 0

Det är något jag missat.

Jag har dessutom försökt använda mig av en vanlig GET, men får samma resultat. Då har jag följande kod


        url = "http://vasttrafik.se/External_Services/TravelPlanner.asmx/GetSMSCodes?identifier=" + IDENTIFIER + "";
        var xmlhttp = new XMLHttpRequest();
        
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);

Någon som kan vägleda mig lite, eller har en bra Javascript XMLHttpRequest sida som är förståelig?

Medlem sedan maj 20011 826 inlägg
#2

Jag tror inte att du kan göra XMLHttpRequest() mot andra servrar än din egen av säkerhetsskäl, så kallad XSS, Cross Site Scripting. Men jag tror att det ska finnas sätt att gå runt det.

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)