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?