Web Service aufruf mittels Ajax

janiwani

Grünschnabel
Hallo,

ich hab hier ein kleines Problem, mit dem ich absolut nicht weiter komme.
Ich hab einen Web Service auf einem Tomcat 6 laufen.
Diesen möchte/darf ich nur mittels Javascript aufrufen. So weit so gut.

Ruf ich nun diesen Dienst über mein JavaScript auf, bekomme ich nur ein leeres Object zurück.
Aufrufe per Java Client bzw. über den Browser funktionieren alle.
Vielleicht hat ja jemand ne Idee. Danke im Voraus!



Hier der Teil des Scriptes, der den Aufruf tätigt :
Code:
	var endpoint = "http://localhost:8080/TestService/services/TestService";
	var soapaction = "http://localhost:8080/TestService/services/TestService/GetMsg";

	
	xmlHttp = getXMLHttp();
	xmlHttp.open('POST', endpoint, true);
   	xmlHttp.setRequestHeader('Content-Type', 'text/xml;charset=utf-8');
	xmlHttp.setRequestHeader('SOAPAction', soapaction);

	xmlHttp.onreadystatechange = function() {

		if (xmlHttp.readyState == 4)
		
              
	         //responseXML ist hier immer null

		 alert(xmlHttp.responseXML);

	}

	xmlHttp.send(request);


Der Anfrage Header sieht nun wie folgt aus:

Host localhost:8080
User-Agent Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Origin http://localhost
Access-Control-Request-Method POST
Access-Control-Request-Headers cache-control,soapaction


Und der Antwort Header

Server Apache-Coyote/1.1
Allow GET, HEAD, POST, TRACE, OPTIONS
Content-Length 0
Date Tue, 07 Sep 2010 18:02:17 GMT
 
Hi,

sry hätt ich vielleicht besser beschreiben können.
die eigentliche antwort ist leer. Was auch der Grund für das null-object ist. . leider hab ich dafür keine erklärung. :(

grüße
jan
 
Mmmmh, anhand des von dir geposteten clientseitigen Codes würde es an Hexerei Grenzen, wenn man sagen könnte, warum der Server nicht antwortet.:eek:

Ich würde aber vermuten, dass es am Port in der angefragten Adresse liegt, die SameOriginPolicy dürfte einen Request auf einen anderen Port verhindern.
 
Zuletzt bearbeitet:
Vielen Dank für den Hinweis. Es liegt wirklich an der Same Origin Policy. Kopiere ich den Client in den Webapps Ordner meines Tomcats funktioniert es.
Hätte man auch eher drauf kommen können :(

Gruß jan
 
Zurück