I have same problem,

I mean not same but problem is that

request.getQueryString() is null

And I have query parameters!!!!

I think this is new T5.1 issue!

CAN SOMEBODY HELP





Ulrich Stärk wrote:
> 
> This is really weird. Somehow Tapestry thinks that the actionlink is
> referring to a component placed 
> on another page than the one that is rendering. And since it thinks the
> containing page is the index 
> page, it converts the page name to the empty string "" which is not
> allowed as a value for a paramater.
> 
> I'm confused.
> 
> Uli
> 
> Am 15.10.2009 11:25 schrieb Borut Bolčina:
>> Here it is (also in attachment, if it gets through)
>> 
>> 
>>   An unexpected application exception has occurred.
>> 
>>     * org.apache.tapestry5.internal.services.RenderQueueException
>>       Render queue error in BeginRender[Index:logout]: Parameter value
>>       was null or contained only whitespace.
>> 
>>       activeComponents
>>               o Verify (class si.najdi.rp.pages.Verify)
>>               o Index (class si.najdi.rp.pages.Index)
>>               o Index:layout (class si.najdi.rp.components.Layout)
>>                 context:Index.tml, line 1
>>                 1    <html t:type="layout" title="OpenID Relaying Party"
>>                 2    t:sidebarTitle="OpenID response"
>>                 3
>>                
>> xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
>>                 4    xmlns:p="tapestry:parameter">
>>                 5    
>>                 6    <p>${message:greeting}</p>
>> 
>>               o Index:if (class
>> org.apache.tapestry5.corelib.components.If)
>>                 context:Index.tml, line 8
>>                 3
>>                
>> xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
>>                 4    xmlns:p="tapestry:parameter">
>>                 5    
>>                 6    <p>${message:greeting}</p>
>>                 7    
>>                 8    <t:if test="user">
>>                 9    Welcome, ${user.firstName} | <t:actionlink
>>                 t:id="logout">logout</t:actionlink>
>>                 10   <p:else>
>>                 11   <t:form>
>>                 12   <t:errors />
>>                 13   <t:label for="openid"/>:
>> 
>>               o Index:logout (class
>>                 org.apache.tapestry5.corelib.components.ActionLink)
>>                 context:Index.tml, line 9
>>                 4    xmlns:p="tapestry:parameter">
>>                 5    
>>                 6    <p>${message:greeting}</p>
>>                 7    
>>                 8    <t:if test="user">
>>                 9    Welcome, ${user.firstName} | <t:actionlink
>>                 t:id="logout">logout</t:actionlink>
>>                 10   <p:else>
>>                 11   <t:form>
>>                 12   <t:errors />
>>                 13   <t:label for="openid"/>:
>>                 14   <t:textfield t:id="openid" value="openid" size="30"/>
>> 
>>       location
>>           context:Index.tml, line 9
>> 
>>     * java.lang.IllegalArgumentException
>>       Parameter value was null or contained only whitespace.
>> 
>>       Hide uninteresting stack frames Stack trace
>>               o
>> org.apache.tapestry5.ioc.internal.util.Defense.notBlank(Defense.java:59)
>> 
>>               o
>> org.apache.tapestry5.internal.services.LinkImpl.addParameter(LinkImpl.java:55)
>> 
>>               o
>> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createComponentEventLink(ComponentEventLinkEncoderImpl.java:212)
>> 
>>               o
>> $ComponentEventLinkEncoder_124571f880c.createComponentEventLink($ComponentEventLinkEncoder_124571f880c.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.LinkSourceImpl.createComponentEventLink(LinkSourceImpl.java:79)
>> 
>>               o
>> $LinkSource_124571f881c.createComponentEventLink($LinkSource_124571f881c.java)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.createComponentEventLink(ComponentPageElementResourcesImpl.java:94)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.createEventLink(ComponentPageElementImpl.java:1204)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.createEventLink(InternalComponentResourcesImpl.java:173)
>> 
>>               o
>> org.apache.tapestry5.corelib.components.ActionLink.createLink(ActionLink.java:36)
>> 
>>               o
>> org.apache.tapestry5.corelib.base.AbstractComponentEventLink.beginRender(AbstractComponentEventLink.java:57)
>> 
>>               o
>> org.apache.tapestry5.corelib.base.AbstractComponentEventLink.beginRender(AbstractComponentEventLink.java)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:206)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:164)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:49)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:159)
>> 
>>               o
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:211)
>> 
>>               o
>> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74)
>> 
>>               o
>> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
>> 
>>               o
>> $PageRenderQueue_124571f887b.render($PageRenderQueue_124571f887b.java)
>> 
>>               o
>> $PageRenderQueue_124571f8872.render($PageRenderQueue_124571f8872.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1748)
>> 
>>               o
>> $MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1732)
>> 
>>               o
>> $MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1714)
>> 
>>               o
>> $MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1700)
>> 
>>               o
>> $MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1681)
>> 
>>               o
>> $MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1662)
>> 
>>               o
>> $MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
>> 
>>               o
>> $MarkupRenderer_124571f887a.renderMarkup($MarkupRenderer_124571f887a.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
>> 
>>               o
>> $PageMarkupRenderer_124571f8877.renderPageMarkup($PageMarkupRenderer_124571f8877.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:61)
>> 
>>               o
>> $PageResponseRenderer_124571f881a.renderPageResponse($PageResponseRenderer_124571f881a.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:63)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$33.handle(TapestryModule.java:1943)
>> 
>>               o
>> $PageRenderRequestHandler_124571f881b.handle($PageRenderRequestHandler_124571f881b.java)
>> 
>>               o
>> $PageRenderRequestHandler_124571f8806.handle($PageRenderRequestHandler_124571f8806.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
>> 
>>               o
>> $ComponentRequestHandler_124571f880b.handlePageRender($ComponentRequestHandler_124571f880b.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
>> 
>>               o
>> $Dispatcher_124571f880d.dispatch($Dispatcher_124571f880d.java)
>> 
>>               o
>> $Dispatcher_124571f8804.dispatch($Dispatcher_124571f8804.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245)
>> 
>>               o
>> si.najdi.rp.services.AppModule$1.service(AppModule.java:85)
>>               o
>> $RequestFilter_124571f8803.service($RequestFilter_124571f8803.java)
>> 
>>               o
>> $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>> 
>>               o
>> $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778)
>> 
>>               o
>> $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767)
>> 
>>               o
>> $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
>> 
>>               o
>> $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
>> 
>>               o
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
>> 
>>               o
>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>> 
>>               o
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
>> 
>>               o
>> $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
>> 
>>               o
>> $RequestHandler_124571f87fa.service($RequestHandler_124571f87fa.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197)
>> 
>>               o
>> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
>> 
>>               o
>> $HttpServletRequestHandler_124571f87fc.service($HttpServletRequestHandler_124571f87fc.java)
>> 
>>               o
>> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>> 
>>               o
>> $HttpServletRequestFilter_124571f87f9.service($HttpServletRequestFilter_124571f87f9.java)
>> 
>>               o
>> $HttpServletRequestHandler_124571f87fc.service($HttpServletRequestHandler_124571f87fc.java)
>> 
>>               o
>> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:726)
>> 
>>               o
>> $HttpServletRequestHandler_124571f87fc.service($HttpServletRequestHandler_124571f87fc.java)
>> 
>>               o
>> $HttpServletRequestHandler_124571f87f7.service($HttpServletRequestHandler_124571f87f7.java)
>> 
>>               o
>> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
>> 
>>               o
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>> 
>>               o
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>> 
>>               o
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> 
>>               o
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>> 
>>               o
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>> 
>>               o
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>> 
>>               o
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>> 
>>               o
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> 
>>               o
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> 
>>               o org.mortbay.jetty.Server.handle(Server.java:324)
>>               o
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>> 
>>               o
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>> 
>>               o
>> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>               o
>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> 
>>               o
>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> 
>>               o
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>> 
>>               o
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> 
>> 
>> 
>>     Tapestry Framework
>> 
>> Tapestry Version
>>     5.1.0.5
>> Application Version
>>     0.0.1-SNAPSHOT
>> 
>> 
>>     Request
>> 
>> Context Path
>>     /rp
>> Request Path
>>     /verify
>> Locale
>>     en
>> Secure
>>     false
>> Server Name
>>     localhost
>> 
>> Query Parameters
>> 
>> openid.assoc_handle
>>     {HMAC-SHA256}{4ad6d0de}{Fn667Q==}
>> openid.claimed_id
>>     http://bbcooper.myopenid.com/
>> openid.identity
>>     http://bbcooper.myopenid.com/
>> openid.mode
>>     id_res
>> openid.ns
>>     http://specs.openid.net/auth/2.0
>> openid.op_endpoint
>>     http://www.myopenid.com/server
>> openid.response_nonce
>>     2009-10-15T07:36:03ZNu83q5
>> openid.return_to
>>     http://localhost:8080/rp/verify
>> openid.sig
>>     mkrk4xlUWLvp+/w2lzREKJEFtAkucBmZpf1/JYDgpJs=
>> openid.signed
>>    
>> assoc_handle,claimed_id,identity,mode,ns,op_endpoint,response_nonce,return_to,signed
>> 
>> Headers
>> 
>> Accept
>>     text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>> Accept-Charset
>>     UTF-8,*
>> Accept-Encoding
>>     gzip,deflate
>> Accept-Language
>>     en,sl;q=0.8,en-gb;q=0.6,en-us;q=0.4,sr;q=0.2
>> Connection
>>     keep-alive
>> Cookie
>>     blackbird={"pos": 1, "size": 0, "load": null};
>>     JSESSIONID=1iyhl74ngdgjq; JSESSIONID=1a7ay6gx36q9f;
>>     blackbird={"pos": 1, "size": 0, "load": null}; poll=;
>>     chkcookie=1255422702042;
>>     MAdUTCID=%220470de48.10.2.3.66.1234567101836%22;
>> BOOKMARK_CHANGED=true
>> Host
>>     localhost:8080
>> Keep-Alive
>>     300
>> User-Agent
>>     Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.3)
>>     Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
>> 
>> Context Attributes
>> 
>> com.sun.jsp.tagFileJarUrlsCache
>>     {}
>> com.sun.jsp.taglibraryCache
>>     {}
>> javax.servlet.context.tempdir
>>     C:\workarea\identity-client\target\work
>> org.apache.tapestry5.application-registry
>>     org.apache.tapestry5.ioc.internal.registrywrap...@112b1dd
>> 
>> 
>>     Session
>> 
>> sso:si.najdi.rp.User
>>     si.najdi.rp.u...@1a7dd7b
>> sso:si.najdi.rp.Visit
>>     si.najdi.rp.vi...@5b3e5d
>> 
>> 
>>     System Properties
>> 
>> awt.toolkit
>>     sun.awt.windows.WToolkit 
>> classworlds.conf
>>    
>> C:\workarea\.metadata\.plugins\org.maven.ide.eclipse\launches\m2conf1646642092209224567.tmp
>> 
>> file.encoding
>>     UTF-8 
>> file.encoding.pkg
>>     sun.io <http://sun.io> 
>> file.separator
>>     \ 
>> java.awt.graphicsenv
>>     sun.awt.Win32GraphicsEnvironment 
>> java.awt.printerjob
>>     sun.awt.windows.WPrinterJob 
>> java.class.path
>>     C:\maven-current\boot\classworlds-1.1.jar 
>> java.class.version
>>     50.0 
>> java.endorsed.dirs
>>     C:\Java\jdk1.6.0_16\jre\lib\endorsed 
>> java.ext.dirs
>>     C:\Java\jdk1.6.0_16\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext 
>> java.home
>>     C:\Java\jdk1.6.0_16\jre 
>> java.io.tmpdir
>>     C:\DOCUME~1\borutb\LOCALS~1\Temp\ 
>> java.library.path
>> 
>>         * C:\Java\jdk1.6.0_16\bin
>>         * .
>>         * C:\WINDOWS\Sun\Java\bin
>>         * C:\WINDOWS\system32
>>         * C:\WINDOWS
>>         * C:/Program Files/Java/jre6/bin/client
>>         * C:/Program Files/Java/jre6/bin
>>         * C:\Program Files\PHP\
>>         * C:\WINDOWS\system32
>>         * C:\WINDOWS
>>         * C:\WINDOWS\System32\Wbem
>>         * C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
>>         * C:\Program Files\Windows Imaging\
>>         * C:\Program Files\MySQL\MySQL Server 5.0\bin
>>         * C:\Program Files\ZipGenius 6\
>>         * C:\Program Files\QuickTime\QTSystem\
>>         * C:\Program Files\TortoiseSVN\bin
>>         * C:\WINDOWS\system32\WindowsPowerShell\v1.0
>>         * C:\Program Files\CollabNet Subversion Client
>>         * C:\Java\jdk1.6.0_16\bin
>>         * C:\maven-current\bin
>>         * C:\UnxUtils\bin
>>         * C:\UnxUtils\usr\local\wbin
>>         * C:\Program Files\IDM Computer Solutions\UltraCompare\
>>         * C:\Program Files\Notepad++ 
>> 
>> java.runtime.name <http://java.runtime.name>
>>     Java(TM) SE Runtime Environment 
>> java.runtime.version
>>     1.6.0_16-b01 
>> java.specification.name <http://java.specification.name>
>>     Java Platform API Specification 
>> java.specification.vendor
>>     Sun Microsystems Inc. 
>> java.specification.version
>>     1.6 
>> java.vendor
>>     Sun Microsystems Inc. 
>> java.vendor.url
>>     http://java.sun.com/ 
>> java.vendor.url.bug
>>     http://java.sun.com/cgi-bin/bugreport.cgi 
>> java.version
>>     1.6.0_16 
>> java.vm.info <http://java.vm.info>
>>     mixed mode, sharing 
>> java.vm.name <http://java.vm.name>
>>     Java HotSpot(TM) Client VM 
>> java.vm.specification.name <http://java.vm.specification.name>
>>     Java Virtual Machine Specification 
>> java.vm.specification.vendor
>>     Sun Microsystems Inc. 
>> java.vm.specification.version
>>     1.0 
>> java.vm.vendor
>>     Sun Microsystems Inc. 
>> java.vm.version
>>     14.2-b01 
>> line.separator
>> 
>> maven.home
>>     C:\maven-current 
>> os.arch
>>     x86 
>> os.name <http://os.name>
>>     Windows XP 
>> os.version
>>     5.1 
>> path.separator
>>     ; 
>> sun.arch.data.model
>>     32 
>> sun.boot.class.path
>> 
>>         * C:\Java\jdk1.6.0_16\jre\lib\resources.jar
>>         * C:\Java\jdk1.6.0_16\jre\lib\rt.jar
>>         * C:\Java\jdk1.6.0_16\jre\lib\sunrsasign.jar
>>         * C:\Java\jdk1.6.0_16\jre\lib\jsse.jar
>>         * C:\Java\jdk1.6.0_16\jre\lib\jce.jar
>>         * C:\Java\jdk1.6.0_16\jre\lib\charsets.jar
>>         * C:\Java\jdk1.6.0_16\jre\classes 
>> 
>> sun.boot.library.path
>>     C:\Java\jdk1.6.0_16\jre\bin 
>> sun.cpu.endian
>>     little 
>> sun.cpu.isalist
>>     pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86 
>> sun.desktop
>>     windows 
>> sun.io.unicode.encoding
>>     UnicodeLittle 
>> sun.java.launcher
>>     SUN_STANDARD 
>> sun.jnu.encoding
>>     Cp1250 
>> sun.management.compiler
>>     HotSpot Client Compiler 
>> sun.os.patch.level
>>     Service Pack 3 
>> user.country
>>     SI 
>> user.dir
>>     C:\workarea\identity-client 
>> user.home
>>     C:\Documents and Settings\borutb 
>> user.language
>>     sl 
>> user.name <http://user.name>
>>     borutb 
>> user.timezone
>>     Europe/Prague 
>> user.variant
>> 
>> 
>> 
>> 
>> 
>> 2009/10/15 Ulrich Stärk <u...@spielviel.de <mailto:u...@spielviel.de>>
>> 
>>     On first look I can't see what's wrong here. Could you please post
>>     exactly where this happens (the error report should give you the
>>     name of the component that is in error and a line number inside your
>>     template).
>> 
>>     Uli
>> 
>>     Am 15.10.2009 09:49 schrieb Borut Bolčina:
>> 
>>         Hello,
>> 
>>         I am having difficulties understand why the followinf piece of
>>         code gives me
>>         the error "Parameter value was null or contained only
>>         whitespace". If I
>>         remove <t:actionlink> from the <t:if> or replace it with for
>> example
>>         <t:pagelink>, then the error does not appear. If I move
>>         <t:actionlink>
>>         outside <t:if> it works also, but I need to have <t:actionlink>
>>         in <t:if>
>>         obviously.
>> 
>>         Please advise.
>> 
>>         Index.tml
>>         ===============================================
>>         <html t:type="layout" title="OpenID Relaying Party"
>>              t:sidebarTitle="OpenID response"
>>             
>> xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
>>              xmlns:p="tapestry:parameter">
>> 
>>            <p>${message:greeting}</p>
>> 
>>            <t:if test="user">
>>                Welcome, ${user.firstName} | <t:actionlink
>>         t:id="logout">logout</t:actionlink>
>>                <p:else>
>>                    <t:form>
>>                        <t:errors />
>>                        <t:label for="openid"/>:
>>                        <t:textfield t:id="openid" value="openid"
>> size="30"/>
>>                        <t:submit t:id="login" value="Login"/>
>>                    </t:form>
>>               </p:else>
>>            </t:if>
>> 
>>            <p:sidebar>
>>                <p>${message}</p>
>>            </p:sidebar>
>> 
>>         </html>
>> 
>>         Index.java
>>         =================================================
>>         public class Index {
>> 
>>            @Inject
>>            private Logger logger;
>> 
>>            @Inject
>>            private Request request;
>> 
>>            @Property
>>            @Persist(PersistenceConstants.FLASH)
>>            private String openid;
>> 
>>            @Inject
>>            private Consumer consumer;
>> 
>>            @SessionState
>>            private Visit visit;
>> 
>>            @SessionState(create = false)
>>            @Property
>>            private User user;
>>            private boolean userExists;
>> 
>>            private String message;
>> 
>>            @Log
>>            void onValidateFromOpenid(String openidurl) throws
>>         ValidationException {
>>                try {
>>                    URL url = new URL(openidurl);
>>                } catch (MalformedURLException e) {
>>                    throw new ValidationException("Nepravilen URL!");
>>                }
>>            }
>> 
>>            @Log
>>            URL onSuccess() throws DiscoveryException, MessageException,
>>         ConsumerException, MalformedURLException  {
>>                ConsumerManager manager = consumer.getManager();
>> 
>>                // perform discovery on the user-supplied identifier
>>                List discoveries = manager.discover(openid);
>> 
>>                // attempt to associate with the OpenID provider
>>                // and retrieve one service endpoint for authentication
>>                DiscoveryInformation discovered =
>>         manager.associate(discoveries);
>> 
>>                // store the discovery information in the user's session
>>         for later
>>         use
>>                // leave out for stateless operation / if there is no
>> session
>>                visit.setDiscoveryInformation(discovered);
>> 
>>                // obtain a AuthRequest message to be sent to the OpenID
>>         provider
>>                AuthRequest authReq = manager.authenticate(discovered, "
>>         http://localhost:8080/rp/verify";);
>> 
>>                // Redirect the User to Their OpenID Provider
>>                return new URL(authReq.getDestinationUrl(true));
>>            }
>> 
>>            public void setMessage(String message) {
>>                this.message = message;
>>            }
>> 
>>            public String getMessage() {
>>                return this.message;
>>            }
>> 
>>            @Log
>>            void onActionFromLogout() {
>>                Session s = request.getSession(false);
>>                if (s != null) {
>>                    s.invalidate();
>>                }
>>            }
>> 
>>         }
>> 
>> 
>>         I get to this page from Verify page which is called by some
>>         openid server (
>>         myopenid.com <http://myopenid.com> for example)
>> 
>>         Verify.java
>>         ==============================================
>>         public class Verify {
>> 
>>            @Inject
>>            private Logger logger;
>> 
>>            @Inject
>>            private Consumer consumer;
>> 
>>            @Inject
>>            private RequestGlobals requestGlobals;
>> 
>>            @SessionState
>>            private Visit visit;
>> 
>>            @SessionState(create = false)
>>            private User user;
>>            private boolean userExists;
>> 
>>            @InjectPage
>>            private Index indexPage;
>> 
>>            @Log
>>            Object setupRender() throws MessageException,
>> DiscoveryException,
>>         AssociationException {
>>                // extract the parameters from the authentication response
>>                // (which comes in as a HTTP request from the OpenID
>>         provider)
>>                HttpServletRequest httpServletRequest =
>>         requestGlobals.getHTTPServletRequest();
>>                ParameterList openidResp = new
>>         ParameterList(httpServletRequest.getParameterMap());
>> 
>>                // retrieve the previously stored discovery information
>>                DiscoveryInformation discovered =
>>         visit.getDiscoveryInformation();
>> 
>>                // extract the receiving URL from the HTTP request
>>                StringBuffer receivingURL =
>>         httpServletRequest.getRequestURL();
>>                String queryString = httpServletRequest.getQueryString();
>>                if (queryString != null && queryString.length() > 0) {
>> 
>>        
>> receivingURL.append("?").append(httpServletRequest.getQueryString());
>>                }
>> 
>>                // verify the response
>>                ConsumerManager manager = consumer.getManager();
>>                VerificationResult verification =
>>         manager.verify(receivingURL.toString(), openidResp, discovered);
>> 
>>                // examine the verification result and extract the
>> verified
>>         identifier
>>                Identifier verified = verification.getVerifiedId();
>> 
>>                if (verified != null) {
>>                    // success, use the verified identifier to identify
>>         the user
>>                    logger.info <http://logger.info>("Success");
>>                    user = new User();
>>                    user.setFirstName((String)
>>        
>> verification.getAuthResponse().getParameterMap().get("openid.identity"));
>>                    indexPage.setMessage("Success");
>> 
>>                } else {
>>                    // OpenID authentication failed
>>                    logger.info <http://logger.info>("OpenID
>>         authentication failed");
>>                    indexPage.setMessage("Failed");
>>                }
>>                return indexPage;
>>            }
>>         }
>> 
>>         Cheers,
>>         Borut
>> 
>> 
>>     ---------------------------------------------------------------------
>>     To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>     <mailto:users-unsubscr...@tapestry.apache.org>
>>     For additional commands, e-mail: users-h...@tapestry.apache.org
>>     <mailto:users-h...@tapestry.apache.org>
>> 
>> 
>> 
>> ------------------------------------------------------------------------
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Parameter-value-was-null-or-contained-only-whitespace-tp25904296p25908994.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to