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. >

