Here it is (also in attachment, if it gets through)
An unexpected application exception has occurred.
- org.apache.tapestry5.internal.services.RenderQueueExceptionRender queue
error in BeginRender[Index:logout]: Parameter value was null or contained
only whitespace.
activeComponents
- Verify (class si.najdi.rp.pages.Verify)
- Index (class si.najdi.rp.pages.Index)
- Index:layout (class si.najdi.rp.components.Layout)
context:Index.tml, line 11<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"4xmlns:p="tapestry:parameter">
5
6 <p>${message:greeting}</p>
- Index:if (class org.apache.tapestry5.corelib.components.If)
context:Index.tml, line 83 xmlns:t="
http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"4xmlns: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"/>:
- Index:logout (class
org.apache.tapestry5.corelib.components.ActionLink)
context:Index.tml, line 94 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"/>
locationcontext:Index.tml, line 9
- java.lang.IllegalArgumentExceptionParameter value was null or contained
only whitespace.
Hide uninteresting stack frames Stack trace
- org.apache.tapestry5.ioc.internal.util.Defense.notBlank(Defense.java:59)
-
org.apache.tapestry5.internal.services.LinkImpl.addParameter(LinkImpl.java:55)
-
org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createComponentEventLink(ComponentEventLinkEncoderImpl.java:212)
-
$ComponentEventLinkEncoder_124571f880c.createComponentEventLink($ComponentEventLinkEncoder_124571f880c.java)
-
org.apache.tapestry5.internal.services.LinkSourceImpl.createComponentEventLink(LinkSourceImpl.java:79)
-
$LinkSource_124571f881c.createComponentEventLink($LinkSource_124571f881c.java)
-
org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.createComponentEventLink(ComponentPageElementResourcesImpl.java:94)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.createEventLink(ComponentPageElementImpl.java:1204)
-
org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.createEventLink(InternalComponentResourcesImpl.java:173)
-
org.apache.tapestry5.corelib.components.ActionLink.createLink(ActionLink.java:36)
-
org.apache.tapestry5.corelib.base.AbstractComponentEventLink.beginRender(AbstractComponentEventLink.java:57)
-
org.apache.tapestry5.corelib.base.AbstractComponentEventLink.beginRender(AbstractComponentEventLink.java)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:206)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:164)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:49)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:159)
-
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:211)
-
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74)
-
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
- $PageRenderQueue_124571f887b.render($PageRenderQueue_124571f887b.java)
- $PageRenderQueue_124571f8872.render($PageRenderQueue_124571f8872.java)
-
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
-
org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1748)
-
$MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
-
org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1732)
-
$MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
-
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1714)
-
$MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
-
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1700)
-
$MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
-
org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1681)
-
$MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
-
org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1662)
-
$MarkupRenderer_124571f887d.renderMarkup($MarkupRenderer_124571f887d.java)
-
$MarkupRenderer_124571f887a.renderMarkup($MarkupRenderer_124571f887a.java)
-
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
-
$PageMarkupRenderer_124571f8877.renderPageMarkup($PageMarkupRenderer_124571f8877.java)
-
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:61)
-
$PageResponseRenderer_124571f881a.renderPageResponse($PageResponseRenderer_124571f881a.java)
-
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:63)
-
org.apache.tapestry5.services.TapestryModule$33.handle(TapestryModule.java:1943)
-
$PageRenderRequestHandler_124571f881b.handle($PageRenderRequestHandler_124571f881b.java)
-
$PageRenderRequestHandler_124571f8806.handle($PageRenderRequestHandler_124571f8806.java)
-
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
-
$ComponentRequestHandler_124571f880b.handlePageRender($ComponentRequestHandler_124571f880b.java)
-
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
- $Dispatcher_124571f880d.dispatch($Dispatcher_124571f880d.java)
- $Dispatcher_124571f8804.dispatch($Dispatcher_124571f8804.java)
-
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245)
- si.najdi.rp.services.AppModule$1.service(AppModule.java:85)
- $RequestFilter_124571f8803.service($RequestFilter_124571f8803.java)
- $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
-
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
- $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
-
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778)
- $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
-
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767)
- $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
-
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
- $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
-
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
-
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
-
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
-
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
- $RequestHandler_124571f8805.service($RequestHandler_124571f8805.java)
- $RequestHandler_124571f87fa.service($RequestHandler_124571f87fa.java)
-
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197)
-
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
-
$HttpServletRequestHandler_124571f87fc.service($HttpServletRequestHandler_124571f87fc.java)
-
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
-
$HttpServletRequestFilter_124571f87f9.service($HttpServletRequestFilter_124571f87f9.java)
-
$HttpServletRequestHandler_124571f87fc.service($HttpServletRequestHandler_124571f87fc.java)
-
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:726)
-
$HttpServletRequestHandler_124571f87fc.service($HttpServletRequestHandler_124571f87fc.java)
-
$HttpServletRequestHandler_124571f87f7.service($HttpServletRequestHandler_124571f87f7.java)
- org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
-
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
- org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
-
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
- org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
- org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
- org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
-
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
-
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
- org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
- org.mortbay.jetty.Server.handle(Server.java:324)
- org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
-
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
- org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
- org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
- org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
-
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
-
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Tapestry FrameworkTapestry Version5.1.0.5Application Version0.0.1-SNAPSHOT
RequestContext Path/rpRequest Path/verifyLocaleenSecurefalseServer Name
localhostQuery Parameters
openid.assoc_handle{HMAC-SHA256}{4ad6d0de}{Fn667Q==}openid.claimed_id
http://bbcooper.myopenid.com/openid.identityhttp://bbcooper.myopenid.com/
openid.modeid_resopenid.nshttp://specs.openid.net/auth/2.0openid.op_endpoint
http://www.myopenid.com/serveropenid.response_nonce
2009-10-15T07:36:03ZNu83q5openid.return_tohttp://localhost:8080/rp/verify
openid.sigmkrk4xlUWLvp+/w2lzREKJEFtAkucBmZpf1/JYDgpJs=openid.signed
assoc_handle,claimed_id,identity,mode,ns,op_endpoint,response_nonce,return_to,signed
Headers
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-CharsetUTF-8,*Accept-Encodinggzip,deflateAccept-Language
en,sl;q=0.8,en-gb;q=0.6,en-us;q=0.4,sr;q=0.2Connectionkeep-aliveCookieblackbird={"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=trueHost
localhost:8080Keep-Alive300User-AgentMozilla/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.tempdirC:\workarea\identity-client\target\work
org.apache.tapestry5.application-registry
org.apache.tapestry5.ioc.internal.registrywrap...@112b1ddsession
sso:si.najdi.rp.usersi.najdi.rp.u...@1a7dd7bsso:si.najdi.rp.Visit
si.najdi.rp.vi...@5b3e5dsystem Propertiesawt.toolkitsun.awt.windows.WToolkit
classworlds.confC:\workarea\.metadata\.plugins\org.maven.ide.eclipse\launches\m2conf1646642092209224567.tmp
file.encoding UTF-8 file.encoding.pkg sun.io file.separator \
java.awt.graphicsenv sun.awt.Win32GraphicsEnvironment
java.awt.printerjobsun.awt.windows.WPrinterJob
java.class.path C:\maven-current\boot\classworlds-1.1.jar
java.class.version50.0
java.endorsed.dirs C:\Java\jdk1.6.0_16\jre\lib\endorsed
java.ext.dirsC:\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.tmpdirC:\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 Java(TM) SE Runtime Environment
java.runtime.version1.6.0_16-b01
java.specification.name Java Platform API Specification
java.specification.vendor Sun Microsystems Inc. java.specification.version1.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.version1.6.0_16
java.vm.info mixed mode, sharing java.vm.name Java HotSpot(TM) Client VM
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 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.homeC:\Documents and Settings\borutb
user.language sl user.name borutb user.timezone Europe/Prague user.variant
2009/10/15 Ulrich Stärk <[email protected]>
> 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 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("Success");
>> user = new User();
>> user.setFirstName((String)
>> verification.getAuthResponse().getParameterMap().get("openid.identity"));
>> indexPage.setMessage("Success");
>>
>> } else {
>> // OpenID authentication failed
>> logger.info("OpenID authentication failed");
>> indexPage.setMessage("Failed");
>> }
>> return indexPage;
>> }
>> }
>>
>> Cheers,
>> Borut
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]