Yep, that sounds like the problem right there. OpenSocial calls are achieved in default Shindig by making an XmlHttpRequest to the URL keyed by "gadgets.osDataUri". XmlHttpRequest only allows same-origin calls. Origin is defined as the combination of schema and authority in the URL ie. schema://authority -- which includes protocol, host, and port.
So Isaiah's comment is close but I don't think exactly the right token. In config/container.js change this: "gadgets.osDataUri" : "http://%host%/rpc", ...to this: "gadgets.osDataUri" : "//%host%/rpc", This is a schema-relative URL and *should *work for both HTTP and HTTPS. --j On Fri, Mar 25, 2011 at 1:57 PM, Doug Ellison <[email protected]>wrote: > So I'd never used the Network within Chrome so thanks for the heads > up. It gives me slightly more information but I'm not quite sure > where to go... > > When I make an HTTP request I get the follow call order > > core:rpc.js > localhost/gadgets/js > ifr > /gadgets > > makeRequest > /gadgets > > rpc > > And everything works OK. > When I try from https It stops after > ifr > /gadgets. > Additionally Chrome gives another error I don't see on firefox > > XMLHttpRequest cannot load > > http://10.48.73.232/rpc?st=14413%3A14413%3A0%3Adefault%3Ahttp%253A%2F%2F10.48.70.25%2FEmailGadget%2FEmailGadget.xml%3A1%3Adefault > . > Origin https://10.48.73.232 is not allowed by > Access-Control-Allow-Origin. > > I'm not quite sure what its meaning. I think its saying its not > allowed because the call originated from https but then makes a call > to http regularly. Is that possible? > > > > On Fri, Mar 25, 2011 at 2:23 PM, John Hjelmstad <[email protected]> wrote: > > Hi Doug, > > Sounds like you might have an opensocial endpoint hard-coded to HTTP -- > > random guess. What browser are you using? I'd give Chrome a try and see > what > > the Network tab says, to see if a request is being formulated. > > --j > > > > On Fri, Mar 25, 2011 at 11:12 AM, Doug Ellison <[email protected]> > > wrote: > >> > >> I'm running Apache Shindig within a webapp and it seems to work > >> fantastic in most respects but I'm having one difficulty that I've > >> spent more then a few days on trying to figure out. > >> > >> When I make a call such as > >> > >> > http://localhost/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml > >> it renders and works. Also if I do > >> > >> > https://localhost/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml > >> it renders and works. I've written a gadget that has the following > >> calls > >> > >> function request() { > >> DisplayHTML("<h1> Loading...</h1>"); > >> var viewerIdSpec = opensocial.newIdSpec({userId: 'VIEWER'}); > >> var req = opensocial.newDataRequest(); > >> > >> req.add(req.newFetchPersonRequest('VIEWER'), 'viewer'); > >> req.add(req.newFetchPersonAppDataRequest(viewerIdSpec, > >> "*"), "viewer_data"); > >> > >> req.send(handleRequest); > >> } > >> > >> Here is where my problem begins. If I put my gadget within http:// it > >> works just fine and as expected. When I add https:// the method for > >> handling the response never gets called. So it seems to be a > >> problem within routing between http and https but only with certain > >> gadgets. However I can't seem to find a configuration option or don't > >> understand enough to know whats really happening. Any help would be > >> greatly appreciated. > > > > >
