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 <[email protected] <mailto:[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 <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: [email protected]
<mailto:[email protected]>
For additional commands, e-mail: [email protected]
<mailto:[email protected]>
------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]