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.
