Hi,

I'm wondering if it's possible to make cross-domain requests to a SOAP Web 
Service from a Gadget? I'm creating a request, then posting it using 
makeRequest to send it to the web service, but I'm not getting any data 
back. If I instead send it to a PHP proxy, I do get data back. I'd really 
like to avoid having to go through a proxy though. Here is the relevant 
code:

var payload = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope 
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"; 
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"; 
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\";>";
payload = payload + "<soap:Body><GetBookings 
xmlns=\"http://DEA.EMS.API.Web.Service/\";>";
payload = payload + "<UserName>UserName</UserName>";
payload = payload + "<Password>Password</Password>";
var currDate = Date.today();
var strStart = currDate.toString('yyyy-MM-dd') + "T00:00:00";
currDate.setDate(currDate.getDate() + 5);
var strEnd = currDate.toString('yyyy-MM-dd') + "T23:59:59";
payload = payload + "<StartDate>" + strStart + "</StartDate>";
payload = payload + "<EndDate>" + strEnd + "</EndDate>";
payload = payload + "<Buildings>" + gadgetPrefs.getString("building_id") + 
"</Buildings>";
payload = payload + "<Statuses><int>1</int></Statuses>";
payload = payload + "<EventTypes><int>5</int></EventTypes>";
payload = payload + "<GroupTypes><int>3</int></GroupTypes>";
payload = payload + 
"<ViewComboRoomComponents>false</ViewComboRoomComponents>";
payload = payload + " </GetBookings></soap:Body></soap:Envelope>";
var params = {};
var postdata = {};
postdata["UserName"] = gadgetPrefs.getString("username");
postdata["Password"] = gadgetPrefs.getString("password");
params[gadgets.io.RequestParameters.CONTENT_TYPE] = 
gadgets.io.ContentType.DOM;
params[gadgets.io.RequestParameters.AUTHORIZATION] = 
gadgets.io.AuthorizationType.NONE; 
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.POST_DATA]= payload;
params[gadgets.io.RequestParameters.HEADERS] = 
{"SOAPAction":"http://DEA.EMS.API.Web.Service/GetBookings";,  "Content-Type": 
"text/xml; charset=utf-8" };
gadgets.io.makeRequest(encodeURI(gadgetPrefs.getString("ems_url")), 
dea_callback, params);

Thx.

-- 
You received this message because you are subscribed to the Google Groups 
"iGoogle Developer Forum" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/Google-Gadgets-API/-/mmI0L1cv2U4J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/Google-Gadgets-API?hl=en.

Reply via email to