Am I just confused here? Was I always suppose to be passing a config object to the container and I just lucked out because /rpc was the "winner"? When you run as non-root are you required to specify these values? Maybe it's just my misunderstanding.
doug On 9/21/11 3:58 PM, "daviesd" <[email protected]> wrote: > The context root is correct (/opensocial). The request for metadata still > tries to use /rpc. If I change it to /opensocail/rpc (by passing it in > config) it works fine. > > new osapi.container.Container({apiPath:'/opensocial/rpc'}); > > This tells me the method that got registered was the /opensocial/rpc one. > > doug > > > On 9/21/11 3:32 PM, "Stanton Sievers" <[email protected]> wrote: > >> That sounds plausible to me. It might be worth setting a breakpoint in >> org.apache.shindig.config.JsonContainerConfigLoader.addHostAndPortToDefaultCo>> n >> tainer(List<Map<String, >> Object>>, String, String, String) and seeing what the Context Root value >> is being set to. >> >> -Stanton >> >> >> >> From: daviesd <[email protected]> >> To: <[email protected]>, >> Date: 09/21/2011 15:27 >> Subject: Re: Metadata >> >> >> >> Dan, >> >> I think what might be happening is that the osapi method use to register >> as >> /rpc and then the duplicate /opensocial/rpc came along and was "skipped" >> (at >> least that was I see in my console). Now that you changed it to last one >> wins it now registers as /opensocial/rpc but the problem is the config >> value >> still thinks it's /rpc. I'm not sure the config value EVER used the >> correct >> value even though it's in container.js as >> >> //%host%${CONTEXT_ROOT}/rpc >> >> So probably the duplicate calls were hiding the fact that the config value >> was never being used. Sound plausible? >> >> doug >> >> >> On 9/21/11 3:05 PM, "daviesd" <[email protected]> wrote: >> >>> Dan, >>> >>> I mentioned in an earlier thread that apiPath is coming back /rpc (for >>> non-root webcontext). However... It does this in the earlier build too >> and it >>> WORKS. So I'm confused. I'm gonna do some more debugging because I >> really >>> need another fix Stanton just resolved (the encodeToken one), so I'm >> gonna >>> need to pull trunk artifacts again at some point. >>> >>> Thanks, >>> doug >>> >>> >>> On 9/21/11 1:45 PM, "Dan Dumont" <[email protected]> wrote: >>> >>>> Sorry coming late to the thread, but I was the one working on the code >>>> change that seems to have broken you. >>>> >>>> The change was necessary because when loading the container >> cross-domain, >>>> we needed to be able to override some of the endpoints. >>>> var config = {}; >>>> config[osapi.container.ServiceConfig.API_PATH] = '/rpc'; >>>> config[osapi.container.ServiceConfig.API_HOST] = >> window.location.protocol >>>> + '//' + window.location.hostname + locationOfProxyToShindig(); >>>> config[osapi.container.ContainerConfig.RENDER_DEBUG] = '1'; // TODO: >> for >>>> now >>>> var cc = this.statics.cc = new osapi.container.Container(config); >>>> >>>> Can you check to see that service.js is pulling the correct value from >>>> your config here: >>>> /** >>>> * @type {string} >>>> * @private >>>> */ >>>> this.apiPath_ = String(osapi.container.util.getSafeJsonValue(config, >>>> osapi.container.ServiceConfig.API_PATH, '/rpc')); >>>> >>>> It gets used later in this call: >>>> /** >>>> * Initialize OSAPI endpoint methods/interfaces. >>>> */ >>>> osapi.container.Service.prototype.registerOsapiServices = function() { >>>> var endPoint = this.apiHost_ + this.apiPath_; >>>> >>>> >>>> >>>> >>>> From: daviesd <[email protected]> >>>> To: <[email protected]>, >>>> Date: 09/21/2011 12:54 PM >>>> Subject: Re: Metadata >>>> >>>> >>>> >>>> Stanton (and Ryan), >>>> >>>> I found the issue. It was the 1171551 commit on Friday. Change >>>> osapi._registerMethods to 'last one in wins'. >>>> >>>> If I roll back to the older osapi.js things work. >>>> >>>> Ideas? Again, this is only an issue when running as non-root. >>>> >>>> FYI though I did log the apiPath in both the old and new and it >> reported >>>> /rpc. So my guess is that the metadata request is ALWAYS made to /rpc, >>>> but >>>> with this change the /rpc method was not registered, only the >>>> /opensocial/rpc. So maybe the wrong config value is being used. >> Confused. >>>> >>>> doug >>>> >>>> >>>> >>>> On 9/21/11 8:12 AM, "Stanton Sievers" <[email protected]> wrote: >>>> >>>>> Hi Doug, >>>>> >>>>> Can you set a breakpoint on >>>>> osapi.container.Service.prototype.registerOsapiServices and see what >> the >>>>> values of apiHost_ and apiPath_ are? It is in this function that the >>>>> endpoints for metadata are registered and that looks like where this >> is >>>>> getting off track. From there you can backtrack and check the config >>>> that >>>>> comes into osapi.container.Service, as it should be defining the >> values >>>> of >>>>> apiHost_ and apiPath_ >>>>> >>>>> -Stanton >>>>> >>>>> >>>>> >>>>> From: daviesd <[email protected]> >>>>> To: <[email protected]>, >>>>> Date: 09/20/2011 18:14 >>>>> Subject: Re: Metadata >>>>> >>>>> >>>>> >>>>> I've been able to reproduce the metadata call failing on non-root web >>>>> contexts. Here's the best way to demonstrate the issue. >>>>> >>>>> Modify container/sample1.html to this >>>>> >>>>> <html> >>>>> <body onload="init();"> >>>>> <div id="gadget-wrapper"></div> >>>>> </body> >>>>> </html> >>>>> >>>>> <script type='text/javascript' >>>>> >>>> >> src='/gadgets/js/container:rpc.js?c=1&debug=1&nocache=1&container=default'>< >>>>> /script> >>>>> >>>>> <script type="text/javascript"> >>>>> >>>>> function init() { >>>>> >>>>> var gadgetXml = >> 'http://www.labpixies.com/campaigns/todo/todo.xml'; >>>>> var container = new osapi.container.Container({}); >>>>> var gadgetSite = container.newGadgetSite( >>>>> document.getElementById('gadget-wrapper') ); >>>>> container.navigateGadget( gadgetSite, gadgetXml, [], { view: >> 'home' >>>> } >>>>> ); >>>>> } >>>>> >>>>> </script> >>>>> >>>>> Startup shindig (mvn -Prun) and hit >>>>> >>>>> http://localhost:8080/container/sample1.html >>>>> >>>>> Gadget renders just fine. >>>>> >>>>> (clear your browser cache) >>>>> >>>>> Now switch the contextPath. Modify contextPath in root pom.xml to >>>>> >>>>> <contextPath>/opensocial</contextPath> >>>>> >>>>> And modify this line in sample1.html >>>>> >>>>> <script type='text/javascript' >>>>> >>>> >> src='/opensocial/gadgets/js/container:rpc.js?c=1&debug=1&nocache=1&container >>>>> =default'></script> >>>>> >>>>> Now restart (mvn -Prun) and hit the sample1 page again. >>>>> >>>>> http://localhost:8080/opensocial/container/sample1.html >>>>> >>>>> You'll now see a 404 failure on the metadata request >>>>> >>>>> http://localhost:8080/rpc?st=-1%3A-1%3A*%3A*%3A*%3A0%3Adefault >>>>> >>>>> >>>> >> [{"method":"gadgets.metadata","id":"gadgets.metadata","params":{"container": >>>>> "default","ids":["http://www.google.com/ig/modules/horoscope.xml >>>>> "],"fields": >>>>> >>>> >> ["iframeUrl","modulePrefs.*","needsTokenRefresh","userPrefs.*","views.prefer >>>>> >>>> >> redHeight","views.preferredWidth","expireTimeMs","responseTimeMs"],"language >>>>> ":"en","country":"US","userId":"@viewer","groupId":"@self"}}] >>>>> >>>>> (I'm not sure why I was seeing the 400 error, it might have been the >>>>> wrapper >>>>> I had around the call). >>>>> >>>>> At any rate... Does this seem broken? If I go back to the 9/13 >> release >>>> ( >>>>> r1170371) this same scenario works. So some recent change has >> modified >>>>> the >>>>> behavior. >>>>> >>>>> Doug >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On 9/20/11 12:51 PM, "daviesd" <[email protected]> wrote: >>>>> >>>>>> Yes. This was working until sometime late last week. We pull the >>>>> shindig >>>>>> artifacts and assemble our own war file. >>>>>> >>>>>> doug >>>>>> >>>>>> >>>>>> On 9/20/11 12:14 PM, "Henry Saputra" <[email protected]> wrote: >>>>>> >>>>>>> Are you trying to deploy Shindig as non root app? >>>>>>> >>>>>>> - Henry >>>>>>> >>>>>>> 2011/9/20 daviesd <[email protected]>: >>>>>>>> I rolled back to the 3.0.0-20110913.224653 snapshot and my stuff is >>>>> working >>>>>>>> again. ?So I'm still suspecting something checked in last Thurs or >>>> Fri >>>>> is >>>>>>>> causing us problems. ?As time permits I'll try and track this down, >>>>> but >>>>>>>> maybe something will jump out at someone. ?Again it appears that >> the >>>>>>>> metadata call is not honoring the CONTEXT_ROOT. >>>>>>>> >>>>>>>> doug >>>>>>>> >>>>>>>> >>>>>>>> On 9/20/11 10:02 AM, "daviesd" <[email protected]> wrote: >>>>>>>> >>>>>>>>> What's weird is it seem to be trying to use /rpc and not >>>>>>>>> ${CONTEXT_ROOT}/rpc >>>>>>>>> for the metadata request. ?We run our shindig as non-root. >>>>>>>>> >>>>>>>>> We're gonna try an older snapshot and see if it works. >>>>>>>>> >>>>>>>>> doug >>>>>>>>> >>>>>>>>> >>>>>>>>> On 9/19/11 8:26 PM, "Henry Saputra" <[email protected]> >> wrote: >>>>>>>>> >>>>>>>>>> Hi Doug, >>>>>>>>>> >>>>>>>>>> Just pull latest from trunk and I did curl for gadget metadata >> and >>>>> got >>>>>>>>>> this response: >>>>>>>>>> >>>>>>>>>> curl -H "Content-Type: application/json" --data-binary ' >>>>>>>>>> >>>>>>>> >>>>> >>>> >> [{"method":"gadgets.metadata","id":"gadgets.metadata","params":{"container":> >>>>>>> >>>>> >>>>> " >>>>>>>>>> >>>>>>>> d >>>>>>>>>> >>>>>>>> >>>>> efault","ids":["http://www.google.com/ig/modules/horoscope.xml >>>>> "],"fields":[">>> >>>>> i >>>>>>>>>> >>>>>>>> f >>>>>>>>>> >>>>>>>> >>>>> >>>> >> rameUrl","modulePrefs.*","needsTokenRefresh","userPrefs.*","views.preferredH> >>>>>>> >>>>> >>>>> e >>>>>>>>>> >>>>>>>> i >>>>>>>>>> >>>>>>>> >>>>> >>>> >> ght","views.preferredWidth","expireTimeMs","responseTimeMs"],"language":"en"> >>>>>>> >>>>> >>>>> , >>>>>>>>>> >>>>>>>> " >>>>>>>>>> country":"US","userId":"@viewer","groupId":"@self"}}]' >>>>>>>>>> http://localhost:8080/rpc >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>> [{"id":"gadgets.metadata","result":{" >>>>> http://www.google.com/ig/modules/horosc>>> >>>>> o >>>>>>>>>> >>>>>>>> p >>>>>>>>>> >>>>>>>> >>>>> >>>> >> e.xml":{"userPrefs":{"day":{"dataType":"HIDDEN","orderedEnumValues":[],"name> >>>>>>> >>>>> >>>>> " >>>>>>>>>> >>>>>>>> : >>>>>>>>>> >>>>>>>> >>>>> >>>> >> "day","required":false,"displayName":"day","defaultValue":""},"month":{"data> >>>>>>> >>>>> >>>>> T >>>>>>>>>> >>>>>>>> y >>>>>>>>>> >>>>>>>> >>>>> >>>> >> pe":"HIDDEN","orderedEnumValues":[],"name":"month","required":false,"display> >>>>>>> >>>>> >>>>> N >>>>>>>>>> >>>>>>>> a >>>>>>>>>> >>>>>>>> >>>>> >>>> >> me":"month","defaultValue":""},"selectedTab":{"dataType":"HIDDEN","orderedEn> >>>>>>> >>>>> >>>>> u >>>>>>>>>> >>>>>>>> m >>>>>>>>>> >>>>>>>> >>>>> >>>> >> Values":[],"name":"selectedTab","required":false,"displayName":"selectedTab"> >>>>>>> >>>>> >>>>> , >>>>>>>>>> >>>>>>>> " >>>>>>>>>> >>>>>>>> >>>>> >>>> >> defaultValue":"0"},"uid":{"dataType":"HIDDEN","orderedEnumValues":[],"name":> >>>>>>> >>>>> >>>>> " >>>>>>>>>> >>>>>>>> u >>>>>>>>>> >>>>>>>> >>>>> >>>> >> id","required":false,"displayName":"uid","defaultValue":""},"selectedFriend"> >>>>>>> >>>>> >>>>> : >>>>>>>>>> >>>>>>>> { >>>>>>>>>> >>>>>>>> >>>>> >>>> >> "dataType":"HIDDEN","orderedEnumValues":[],"name":"selectedFriend","required> >>>>>>> >>>>> >>>>> " >>>>>>>>>> >>>>>>>> : >>>>>>>>>> >>>>>>>> >>>>> >>>> >> false,"displayName":"selectedFriend","defaultValue":"0"}},"needsTokenRefresh> >>>>>>> >>>>> >>>>> " >>>>>>>>>> >>>>>>>> : >>>>>>>>>> >>>>>>>> >>>>> >>>> >> false,"expireTimeMs":1316478556657,"views":{"home":{"preferredHeight":0,"qui> >>>>>>> >>>>> >>>>> r >>>>>>>>>> >>>>>>>> k >>>>>>>>>> >>>>>>>> >>>>> >>>> >> s":true,"preferredWidth":0},"default":{"preferredHeight":0,"quirks":true,"pr> >>>>>>> >>>>> >>>>> e >>>>>>>>>> >>>>>>>> f >>>>>>>>>> >>>>>>>> >>>>> >>>> >> erredWidth":0},"preview":{"preferredHeight":0,"quirks":true,"preferredWidth"> >>>>>>> >>>>> >>>>> : >>>>>>>>>> >>>>>>>> 0 >>>>>>>>>> >>>>>>>> >>>>> >>>> >> },"canvas":{"preferredHeight":0,"quirks":true,"preferredWidth":0}},"modulePr> >>>>>>> >>>>> >>>>> e >>>>>>>>>> >>>>>>>> f >>>>>>>>>> >>>>>>>> >>>>> s":{"screenshot":" >>>>> http://www.gstatic.com/ig/modules/horoscope/horoscope.cach>>> >>>>> e >>>>>>>>>> >>>>>>>> . >>>>>>>>>> >>>>>>>> >>>>> >>>> >> png","authorEmail":"[email protected]> >>>>>>> >>>>> >>>>> o >>>>>>>>>> >>>>>>>> m >>>>>>>>>> >>>>>>>> >>>>> >>>> >> ","width":0,"authorLink":"","links":{},"scaling":false,"author":"csindia-gad> >>>>>>> >>>>> >>>>> g >>>>>>>>>> >>>>>>>> e >>>>>>>>>> ts","directoryTitle":"Daily >>>>>>>>>> Horoscopes","title":"Today's >>>>>>>>>> >>>>>>>> >>>>> Horoscope","height":200,"thumbnail":" >>>>> http://www.gstatic.com/ig/modules/horos>>> >>>>> c >>>>>>>>>> >>>>>>>> o >>>>>>>>>> >>>>>>>> >>>>> pe/horoscope-thm.cache.png","titleUrl":"http://www.dailyhoroscope.com/ >>>>> ","scr>>> >>>>> o >>>>>>>>>> >>>>>>>> l >>>>>>>>>> ling":false,"description":"Daily >>>>>>>>>> horoscopes and Astrosync courtesy of >>>>>>>>>> >>>>>>>> >>>>> >>>> >> tarot.com","features":{"dynamic-height":{"name":"dynamic-height","params":{}> >>>>>>> >>>>> >>>>> , >>>>>>>>>> >>>>>>>> " >>>>>>>>>> >>>>>>>> >>>>> >>>> >> required":true},"views":{"name":"views","params":{},"required":true},"setpre> >>>>>>> >>>>> >>>>> f >>>>>>>>>> >>>>>>>> s >>>>>>>>>> >>>>>>>> >>>>> >>>> >> ":{"name":"setprefs","params":{},"required":true},"core":{"name":"core","par> >>>>>>> >>>>> >>>>> a >>>>>>>>>> >>>>>>>> m >>>>>>>>>> >>>>>>>> >>>>> >>>> >> s":{},"required":true},"settitle":{"name":"settitle","params":{},"required":> >>>>>>> >>>>> >>>>> t >>>>>>>>>> >>>>>>>> r >>>>>>>>>> >>>>>>>> >>>>> >>>> >> ue},"tabs":{"name":"tabs","params":{},"required":true}},"categories":["",""]> >>>>>>> >>>>> >>>>> , >>>>>>>>>> >>>>>>>> " >>>>>>>>>> >>>>>>>> >>>>> >>>> >> authorPhoto":""},"responseTimeMs":1316478256657,"iframeUrl":"//localhost:808> >>>>>>> >>>>> >>>>> 0 >>>>>>>>>> >>>>>>>> / >>>>>>>>>> >>>>>>>> >>>>> >>>> >> gadgets/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fhoroscope.xml&c> >>>>>>> >>>>> >>>>> o >>>>>>>>>> >>>>>>>> n >>>>>>>>>> >>>>>>>> >>>>> >>>> >> tainer=default&view=%25view%25&lang=%25lang%25&country=%25country%25&debug=%> >>>>>>> >>>>> >>>>> 2 >>>>>>>>>> >>>>>>>> 5 >>>>>>>>>> >>>>>>>> >>>>> >>>> >> debug%25&nocache=%25nocache%25&sanitize=%25sanitize%25&v=81c0125ea88602827eb> >>>>>>> >>>>> >>>>> e >>>>>>>>>> >>>>>>>> 7 >>>>>>>>>> >>>>>>>> >>>>> >>>> >> 788ff5921e1#up_day=%25up_day%25&up_month=%25up_month%25&up_selectedTab=%25up> >>>>>>> >>>>> >>>>> _ >>>>>>>>>> >>>>>>>> s >>>>>>>>>> >>>>>>>> >>>>> >>>> >> electedTab%25&up_uid=%25up_uid%25&up_selectedFriend=%25up_selectedFriend%25"> >>>>>>> >>>>> >>>>> } >>>>>>>>>> >>>>>>>> } >>>>>>>>>> }] >>>>>>>>>> >>>>>>>>>> Looks ok to me. >>>>>>>>>> >>>>>>>>>> - Henry >>>>>>>>>> >>>>>>>>>> On Mon, Sep 19, 2011 at 4:55 PM, daviesd <[email protected]> >> wrote: >>>>>>>>>>> Is there anything that would have changed since last Thursday or >>>> so >>>>> that >>>>>>>>>>> would be causing the metadata call to fail with a 400 error? >>>>>>>>>>> >>>>>>>>>>> I grabbed the latest artifacts today and I¹m getting a 400 when >>>>> making >>>>>>>>>>> the >>>>>>>>>>> metadata request. >>>>>>>>>>> >>>>>>>>>>> >>>>> >>>> >> [{"method":"gadgets.metadata","id":"gadgets.metadata","params":{"containe>>>> >>>>>>> >>>>> >>>>> r >>>>>>>>>>> ": >>>>>>>>>>> >>>>> "default","ids":["http://www.google.com/ig/modules/horoscope.xml >>>>> "],"field>>>>>> >>>>> s >>>>>>>>>>> ": >>>>>>>>>>> >>>>> >>>> >> ["iframeUrl","modulePrefs.*","needsTokenRefresh","userPrefs.*","views.pre>>>> >>>>>>> >>>>> >>>>> f >>>>>>>>>>> er >>>>>>>>>>> >>>>> >>>> >> redHeight","views.preferredWidth","expireTimeMs","responseTimeMs"],"langu>>>> >>>>>>> >>>>> >>>>> a >>>>>>>>>>> ge >>>>>>>>>>> ":"en","country":"US","userId":"@viewer","groupId":"@self"}}] >>>>>>>>>>> >>>>>>>>>>> This was working late last week. ?It almost seems like it¹s >>>> getting >>>>>>>>>>> garbage >>>>>>>>>>> back from the request. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Doug >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >> >> >> >> >>
