Seems appending a random character to the random number has fixed the issue, atleast in my dev environment.
I will update you once the build makes it to production. Waiting with my fingers crossed. Thanks and Regards, Hafiz 2009/11/25 John Hjelmstad <[email protected]> > Throwing a few ideas out there: > > 1. Rather than your rpctoken being (interpreted as) a number, ensure it's a > string by prepending "A" or something to it. > 2. Any chance VBScript is disabled for you? > > -j- > > On Sun, Nov 22, 2009 at 10:30 PM, Hafiz A Haq <[email protected]> wrote: > > > 2009/11/21 John Hjelmstad <[email protected]> > > > > > 1. Ah, version 1.1-beta2. I can't recall whether that version has the > new > > > NIX protocol in it or not. Does your /gadgets/js/rpc.js?c=1 file > contain > > > symbols named gadgets.rpctx.nix*? > > > > > > > > I tried 1.1beta2 and 1.1beta4 , i could find something like > > > > gadgets.rpctx.nix=function(){var C="GRPC____NIXVBS_wrapper"; > > > > 2. Do you have a special container config for container=smx-container > that > > > overrides any values for "gadgets.features":{"rpc"...? > > > > > > > > "rpc" : { > > // Path to the relay file. Automatically appended to the parent > > /// parameter if it passes input validation and is not null. > > // This should never be on the same host in a production environment! > > // Only use this for TESTING! > > "parentRelayUrl" : "/app/core/main/rpc_relay.html", > > > > // If true, this will use the legacy ifpc wire format when making rpc > > // requests. > > "useLegacyProtocol" : false > > } > > > > > > Anything amiss here? > > > > Thanks and Regards, > > Hafiz > > > > > > On Fri, Nov 20, 2009 at 4:51 AM, Hafiz A Haq <[email protected]> > wrote: > > > > > > > Thanks a ton John, I had almost given up. > > > > > > > > Yeah, First up i create the iframe url, which is like > > > > > > > > > > > > > > > > > > https://shindig.company.com//app/shindig/gadgets/ifr?container=smx-container&v=d84f1182fc1ef128c4c16095d561c3&lang=en&country=US&view=default&up_appServiceCode=MY.CUSTOM.REPORT&up_chartTitle=My+Custom+Chart+For+Performance&up_reportSWFURL=https%3A%2F%2Flocalhost%3A8443%2Fapp%2Fcore%2Fmain%2Fswf%2Freporting.swf&up_reportingXmlStr=%3CreportPreferences%3E+%3Csettings%3E+%3CchartID%3Erankedbubblechart%3C%2FchartID%3E+%3C%2Fsettings%3E+%3Cquery%3E+%3CappServiceCode%3EMY.CUSTOM.REPORT%3C%2FappServiceCode%3E+%3CfilterInstanceID%3EiNstance_fRom_tEmplate_11383%3C%2FfilterInstanceID%3E+%3Ctemplate%3Eacct-report-template.xml%3C%2Ftemplate%3E+%3CtimeHorizon%3E+%3CperiodTypeCode%3EHALFYEAR%3C%2FperiodTypeCode%3E+%3CstartPeriod%2F%3E+%3CendPeriod%2F%3E+%3C%2FtimeHorizon%3E+%3C%2Fquery%3E%3C%2FreportPreferences%3E&url=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fgadget%2Fcom.company.gadget.ReportingGadget%2Fcom.company.gadget.client.ReportingGadget.gadget.xml&libs=opensocial-0.8&parent=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fcore%2Fmain%2F&nocache=0#rpctoken=0.2649638729165247 > > > > < > > > > > > > > > > https://i-0029:8443/https://i-0029:8443//app/shindig/gadgets/ifr?container=smx-container&v=d84f1182fc1ef128c4c16095d561c3&lang=en&country=US&view=default&up_appServiceCode=MY.CUSTOM.REPORT&up_chartTitle=My+Custom+Chart+For+Performance&up_reportSWFURL=https%3A%2F%2Flocalhost%3A8443%2Fapp%2Fcore%2Fmain%2Fswf%2Freporting.swf&up_reportingXmlStr=%3CreportPreferences%3E+%3Csettings%3E+%3CchartID%3Erankedbubblechart%3C%2FchartID%3E+%3C%2Fsettings%3E+%3Cquery%3E+%3CappServiceCode%3EMY.CUSTOM.REPORT%3C%2FappServiceCode%3E+%3CfilterInstanceID%3EiNstance_fRom_tEmplate_11383%3C%2FfilterInstanceID%3E+%3Ctemplate%3Eacct-report-template.xml%3C%2Ftemplate%3E+%3CtimeHorizon%3E+%3CperiodTypeCode%3EHALFYEAR%3C%2FperiodTypeCode%3E+%3CstartPeriod%2F%3E+%3CendPeriod%2F%3E+%3C%2FtimeHorizon%3E+%3C%2Fquery%3E%3C%2FreportPreferences%3E&url=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fgadget%2Fcom.company.gadget.ReportingGadget%2Fcom.company.gadget.client.ReportingGadget.gadget.xml&libs=opensocial-0.8&parent=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fcore%2Fmain%2F&nocache=0#rpctoken=0.2649638729165247 > > > > > > > > > > > > > then i set this as innerhtml to my gadget div > > > > and i follow it up with > > > > > > > > gadgets.rpc.setRelayUrl(iframeId, iframeUrl, false); > > > > gadgets.rpc.setAuthToken(iframeId, rpcToken); > > > > > > > > The browser versions having trouble are ie6 and ie7 > > > > > > > > I tried > > > > gadgets.rpc.setupReceiver(gadgetIFrameId); > > > > > > > > but it seems the method is not available in my version of Shindig - > > > > 1.1-Beta2 > > > > > > > > Thanks in advance. > > > > > > > > Best Regards, > > > > Hafiz > > > > > > > > 2009/11/20 John Hjelmstad <[email protected]> > > > > > > > > > Hi Hafiz: > > > > > > > > > > Order is everything. I want to confirm: you're first rendering the > > > > IFRAME, > > > > > then immediately doing gadgets.rpc.setRelayUrl(...) and > > > > > gadgets.rpc.setAuthToken(...) correct? > > > > > > > > > > To best deduce this issue, I'd need: > > > > > 1. The exact IFRAME URL you're generating (you can remove the > > security > > > > > token > > > > > if there is one) > > > > > 2. The order in which you're generating the IFRAME URL and calling > > the > > > > > setup > > > > > commands. > > > > > 3. The browser version(s) you're using. > > > > > > > > > > As well, you might try gadgets.rpc.setupReceiver(gadgetIFrameId); > --> > > > > this > > > > > is the replacement to setRelayUrl and setAuthToken which ensures > > proper > > > > > ordering. > > > > > > > > > > --j > > > > > > > > > > On Wed, Nov 18, 2009 at 11:39 PM, Hafiz A Haq <[email protected] > > > > > > wrote: > > > > > > > > > > > nix_channels[targetId] is not undefined, for the first time when > i > > > run > > > > > the > > > > > > app after a jboss restart... so basically the rpc goes through > for > > > the > > > > > > first > > > > > > gadget(if and only there is one gadget request while starting > > up)... > > > > > > > > > > > > Any clue, why this happens? > > > > > > > > > > > > Thanks and Regards, > > > > > > Hafiz > > > > > > > > > > > > 2009/11/18 Hafiz A Haq <[email protected]> > > > > > > > > > > > > > Not sure if i am pestering you guys, but i dont have any other > > > > > option... > > > > > > > :-( > > > > > > > > > > > > > > I am also invoking > > > > > > > gadgets.rpc.setRelayUrl(iframeId, iframeUrl, false); > > > > > > > gadgets.rpc.setAuthToken(iframeId, rpcToken); > > > > > > > > > > > > > > from the container for each gadget generated. > > > > > > > > > > > > > > and alert from nix.transport.js > > > > > > > > > > > > > > call: function(targetId, from, rpc) { > > > > > > > try { > > > > > > > // If we have a handler, call it. > > > > > > > alert(targetId+" = "+nix_channels[targetId]+" from > > "+from+" > > > > rpc > > > > > > is > > > > > > > "+gadgets.json.stringify(rpc)); > > > > > > > .... > > > > > > > } > > > > > > > > > > > > > > gives > > > > > > > > > > > > > > > > > > > > > .. = from remote_iframe_0 rpc > > > > > > > {"s":"set_title","f":"remote_iframe_0","c":0,"a"["Account > > > > > > > overview"],"t":"0.6466592220939002","I":false} > > > > > > > > > > > > > > works (once in a blue moon) > > > > > > > > > > > > > > .. = undefined from remote_iframe_2 rpc is > > > > > > > {"s":"set_title","f":"remote_iframe_2","c":0,"a":["Account > > > > > > > summary"],"t":"0.33673688496145","I":false} > > > > > > > > > > > > > > doesnt work > > > > > > > > > > > > > > I don't understand why most of the times the undefined comes up > > and > > > > > then > > > > > > it > > > > > > > fails... > > > > > > > > > > > > > > > > > > > > > Please , all those gurus and experts, any tip, something i > might > > be > > > > > > > missing... > > > > > > > > > > > > > > Thanks and Regards, > > > > > > > Hafiz > > > > > > > > > > > > > > > > > > > > > 2009/11/18 Hafiz A Haq <[email protected]> > > > > > > > > > > > > > >> I have also added rpctoken into the iframeurl like > > > > > > >> > > > > > > >> https:// > > > > > > >> > > > > > > > > > > > > > > > > > > > > > .../ifr?container=...&lang=en&country=US&view=default&nocache=1&rpctoken=0.9956869901138398, > > > > > > >> which is essentially a random number > > > > > > >> > > > > > > >> still the rpc calls are not getting through. > > > > > > >> > > > > > > >> Anything else i might be missing. > > > > > > >> > > > > > > >> 2009/11/18 Hafiz A Haq <[email protected]> > > > > > > >> > > > > > > >> Any input would help me. Please provide a hint why nix > transport > > > > fails > > > > > > >>> when container and shindig is at 2 different secure domains? > > > > > > >>> > > > > > > >>> 2009/10/28 Hafiz A Haq <[email protected]> > > > > > > >>> > > > > > > >>>> Seems there is something that makes the nix transport > > mechanism > > > > fail > > > > > > >>>> here, the call method is not going through , where it fails > at > > > the > > > > > > check > > > > > > >>>> if (nix_channels[targetId]) > > > > > > >>>> > > > > > > >>>> In the call method the parameters targetId, from, rpc alerts > > to > > > > > > >>>> '.. , remote_iframe_3 , [object Object]' > > > > > > >>>> > > > > > > >>>> Can anyone please give me a hint why the code > > > > > > >>>> > > > > > > >>>> if (nix_channels[..]) > > > > > > >>>> > > > > > > >>>> is not going through as expected.. > > > > > > >>>> > > > > > > >>>> Any help is appreciated. > > > > > > >>>> > > > > > > >>>> Thanks and REgards, > > > > > > >>>> Hafiz > > > > > > >>>> > > > > > > >>>> 2009/10/28 Hafiz A Haq <[email protected]> > > > > > > >>>> > > > > > > >>>> Hi All, > > > > > > >>>>> > > > > > > >>>>> My dashboard application is up and running in production, > > > thanks > > > > to > > > > > > >>>>> Shindig and you guys. Due to some serious mistake from QA > and > > > IT > > > > > guys > > > > > > i have > > > > > > >>>>> a bug at this last hour as rpc feature is broken in > > production > > > > and > > > > > my > > > > > > >>>>> clients are not so happy.. :( > > > > > > >>>>> > > > > > > >>>>> In production each client has individual subdomains and > > shindig > > > > is > > > > > > >>>>> deployed in a common subdomain for all customers, both over > > > > https. > > > > > > RPC is > > > > > > >>>>> now broken in IE6,7 and setTitle, setHeight ... are not > > > working. > > > > > > >>>>> > > > > > > >>>>> I assigned gadgets.parent in myContainer.js with a regex > > > pattern > > > > > like > > > > > > >>>>> > > > > > > >>>>> "gadgets.parent" : "(https://localhost:8443| > > > > > > >>>>> https://customer1.app.company.com| > > > > > https://customer2.app.company.com > > > > > > )", > > > > > > >>>>> > > > > > > >>>>> > > > > > > >>>>> and rpc like > > > > > > >>>>> > > > > > > >>>>> "rpc" : { > > > > > > >>>>> // Path to the relay file. Automatically appended to > the > > > > parent > > > > > > >>>>> // parameter if it passes input validation and is not > > null. > > > > > > >>>>> // This should never be on the same host in a > production > > > > > > >>>>> environment! > > > > > > >>>>> // Only use this for TESTING! > > > > > > >>>>> "parentRelayUrl" : "/app/core/main/rpc_relay.html", > > > > > > >>>>> > > > > > > >>>>> // If true, this will use the legacy ifpc wire format > > when > > > > > making > > > > > > >>>>> rpc > > > > > > >>>>> // requests. > > > > > > >>>>> "useLegacyProtocol" : false > > > > > > >>>>> } > > > > > > >>>>> > > > > > > >>>>> Now i tried > > > > > > >>>>> > > > > > > >>>>> var parentRelayUrl = window.location.protocol + "//" + > > > > > > >>>>> window.location.host > > > > > > >>>>> gadgets.container.setParentUrl(parentRelayUrl); > > > > > > >>>>> > > > > > > >>>>> from the container js file, which is loaded after loading > all > > > > > > required > > > > > > >>>>> shindig js file dependencies. Still i am not able to get > the > > > rpcs > > > > > to > > > > > > work > > > > > > >>>>> properly in IE6,7. Any help is greatly appreciated as some > of > > > my > > > > > > customers > > > > > > >>>>> are tied down on IE7. > > > > > > >>>>> > > > > > > >>>>> Best Regards, > > > > > > >>>>> Hafiz > > > > > > >>>>> -- > > > > > > >>>>> He who asks is a fool for five minutes, but he who does not > > ask > > > > > > remains > > > > > > >>>>> a fool forever. > > > > > > >>>>> > > > > > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > > > >>>> -- > > > > > > >>>> He who asks is a fool for five minutes, but he who does not > > ask > > > > > > remains > > > > > > >>>> a fool forever. > > > > > > >>>> > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > > >>> -- > > > > > > >>> He who asks is a fool for five minutes, but he who does not > ask > > > > > remains > > > > > > a > > > > > > >>> fool forever. > > > > > > >>> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> -- > > > > > > >> He who asks is a fool for five minutes, but he who does not > ask > > > > > remains > > > > > > a > > > > > > >> fool forever. > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > He who asks is a fool for five minutes, but he who does not ask > > > > remains > > > > > a > > > > > > > fool forever. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > He who asks is a fool for five minutes, but he who does not ask > > > remains > > > > a > > > > > > fool forever. > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > He who asks is a fool for five minutes, but he who does not ask > remains > > a > > > > fool forever. > > > > > > > > > > > > > > > -- > > He who asks is a fool for five minutes, but he who does not ask remains a > > fool forever. > > > -- He who asks is a fool for five minutes, but he who does not ask remains a fool forever.

