You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by varontron <va...@gmail.com> on 2018/04/17 15:14:27 UTC
Dashboard exception - approvals
Hi,
Unable to load dashboard due to "Unable to find property: 'null' for
component:
body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key..."
Steps to reproduce:
Deployed 2.0.9-SNAPSHOT
Configured policies, realm, role
Using default schemas
(No resources, users, or groups created)
Re-deployed with '-P all'
Updated role with WORKFLOW entitlements (though no users assigned to role
yet)
Configured approval form in Activiti Approval User Task per Reference Guide
Self-registered user with enduser ui
Dashboard caused exception:
Last cause: Unable to find property: 'null' for component:
body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key
[class=org.apache.wicket.markup.html.basic.Label]. Locale: null, style: null
WicketMessage: An error occurred while getting the model object for
Component: [Component id = key, page =
org.apache.syncope.client.console.pages.Dashboard, path =
body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key,
type = org.apache.wicket.markup.html.basic.Label, isVisible = true,
isVersioned = true, markup = [markup =
jar:file:/var/lib/tomcat8/webapps/syncope-console/WEB-INF/lib/syncope-client-console-2.0.9-SNAPSHOT.jar!/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html
<p wicket:id="key"></p>, index = 0, current = '<p wicket:id="key">' (line
0, column 0)]]
Did I leave out a config step?
Is this resolvable without dropping the db?
Is it possible to catch the exception so as not to break the dashboard?
Thanks,
Dave
-----
http://analgesicsolutions.com
https://github.com/Novartis/YADA
--
Sent from: http://syncope-dev.1063484.n5.nabble.com/
Re: Dashboard exception - approvals
Posted by Dave Varon <va...@gmail.com>.
Hi,
Indeed there was a configuration issue, which I've now corrected. Here is
a breakdown for future readers:
Retrieving the workflow via: curl -X GET
"http://host:port/syncope/rest/workflows/USER/userWorkflow"
-H "accept: */*" -H "X-Syncope-Domain: Master" -H "Authorization: Basic ..."
revealed the 'userTask' below which has no 'activiti:formKey' attribute.
<userTask id="active" name="Active">
<extensionElements>
<activiti:formProperty id="username" name="Username" type="string"
expression="${user.username}" writable="false"/>
<activiti:formProperty id="approve" name="Approve?" type="boolean"
variable="approve" required="true"/>
<activiti:formProperty id="rejectReason" name="Reason for
rejecting" type="string" variable="rejectReason"/>
</extensionElements>
</userTask>
To resolve the issue, I modified the workflow (restoring the userTask to
the content-less default <userTask id="active" name="Active/> using:
curl -X PUT "http://host:port/syncope/rest/workflows/USER/userWorkflow" -H
"accept: */*" -H "X-Syncope-Domain: Master" -H "Authorization: Basic ..."
-H "Content-Type: application/xml" -d "<?xml...
Then I requested: curl -X GET
"http://host:port/syncope/rest/userworkflow/forms"
-H "accept: application/json" -H "X-Syncope-Domain: Master" -H
"Authorization: Basic ..."
which contained the null key, but also the affected new user key.
[
{
"username": ".....",
"taskId": "7554",
"key": null,
"createTime": "2018-04-17T14:23:06.080+0000",
"dueDate": null,
"owner": null,
"userTO": {
"@class": "org.apache.syncope.common.lib.to.UserTO",
"key": "db1ab1a4-0e2f-422e-9ab1-a40e2fb22e4a",
"type": "USER",
I then deleted the user with: curl -X DELETE "http://host:port/syncope/
rest/users/db1ab1a4-0e2f-422e-9ab1-a40e2fb22e4a" -H "accept:
application/json" -H "Prefer: return-content" -H "X-Syncope-Domain: Master"
-H "Authorization: Basic ..."
and was able to login to the console to try again.
Thanks as always for all your guidance.
Dave
Re: Dashboard exception - approvals
Posted by Francesco Chicchiriccò <il...@apache.org>.
On 18/04/2018 01:14, Dave Varon wrote:
> Hi,
>
> The response body (pretty print at bottom) does in fact contain
> "key":null. FWIW there are no derived or virtual schemas, or groups
> configured, 'email' is the only plain schema, and there are no resources.
That 'key' value is only set by
https://github.com/apache/syncope/blob/2_0_X/core/workflow-activiti/src/main/java/org/apache/syncope/core/workflow/activiti/ActivitiUserWorkflowAdapter.java#L550
with the value coming from the actual form definition.
I suspect that there is something wrong in your current workflow
definition: could you please provide it?
> FYI some tangential weirdness: tomcat/syncope is sitting behind apache
> httpd. If I use the default port (443), either explicitly or implicitly,
> the server url constructed for swagger is "https://host:-1/syncope/rest".
> This seems broken. Çan it be resolved somehow? I couldn't find any
> config. As one might expect, this results in 404.
>
> This is obv not a problem with curl, nor if I connect to tomcat directly in
> browser on non-ssl port 8000
Swagger UI relies on /syncope/rest/openapi.json, the servers > url
field, to construct the URLs.
From http://syncope-vm.apache.org:9080/syncope/rest/openapi.json for
example, I can see that the value is
"servers": [
{
"url": "http://syncope-vm.apache.org:9080/syncope/rest"
}
],
Such value is dynamically derived from the URL used to access the
openapi.json resource, and is set by CXF in
https://github.com/apache/cxf/blob/3.1.x-fixes/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/openapi/SwaggerToOpenApiConversionUtils.java#L418-L446
Possibly, the method use to reconstruct the request URL does not work
properly with your reverse proxy setup.
Regards.
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/
Re: Dashboard exception - approvals
Posted by Dave Varon <va...@gmail.com>.
Hi,
The response body (pretty print at bottom) does in fact contain
"key":null. FWIW there are no derived or virtual schemas, or groups
configured, 'email' is the only plain schema, and there are no resources.
[{"username":"varontron","taskId":"7554","key":null,"createTime":"2018-04-17T14:23:06.080+0000","dueDate":null,"owner":null,"userTO":{"@class":"org.apache.syncope.common.lib.to.UserTO","key":"db1ab1a4-0e2f-422e-9ab1-a40e2fb22e4a","type":"USER","realm":"/SRP","username":"varontron","creator":null,"creationDate":"2018-04-17T14:23:06.138+0000","lastModifier":null,"lastChangeDate":"2018-04-17T14:23:06.138+0000","status":null,"password":"xxxxxxxxxxxxxxx","token":null,"tokenExpireTime":null,"lastLoginDate":null,"changePwdDate":null,"failedLogins":null,"securityQuestion":"48400a54-6910-4237-800a-5469109237ee","securityAnswer":"xxxxxxxxxxxx","suspended":false,"mustChangePassword":false,"dynRealms":[],"auxClasses":[],"plainAttrs":[{"schemaInfo":null,"schema":"email","values":["
varontron@gmail.com"]}],"derAttrs":[],"virAttrs":[],"resources":[],"roles":[],"dynRoles":[],"relationships":[],"memberships":[],"dynMemberships":[]},"userPatch":null,"workflowFormProperties":[{"id":"username","name":"Username","type":"String","value":"varontron","readable":true,"writable":false,"required":false,"datePattern":null,"enumValues":{}},{"id":"approve","name":"Approve?","type":"Boolean","value":null,"readable":true,"writable":true,"required":true,"datePattern":null,"enumValues":{}},{"id":"rejectReason","name":"Reason
for
rejecting","type":"String","value":null,"readable":true,"writable":true,"required":false,"datePattern":null,"enumValues":{}}]}]
FYI some tangential weirdness: tomcat/syncope is sitting behind apache
httpd. If I use the default port (443), either explicitly or implicitly,
the server url constructed for swagger is "https://host:-1/syncope/rest".
This seems broken. Çan it be resolved somehow? I couldn't find any
config. As one might expect, this results in 404.
This is obv not a problem with curl, nor if I connect to tomcat directly in
browser on non-ssl port 8000
Thanks,
Dave
[
{
"username": "varontron",
"taskId": "7554",
"key": null,
"createTime": "2018-04-17T14:23:06.080+0000",
"dueDate": null,
"owner": null,
"userTO": {
"@class": "org.apache.syncope.common.lib.to.UserTO",
"key": "db1ab1a4-0e2f-422e-9ab1-a40e2fb22e4a",
"type": "USER",
"realm": "/SRP",
"username": "varontron",
"creator": null,
"creationDate": "2018-04-17T14:23:06.138+0000",
"lastModifier": null,
"lastChangeDate": "2018-04-17T14:23:06.138+0000",
"status": null,
"password": "xxxxxxxxxxxxxxx",
"token": null,
"tokenExpireTime": null,
"lastLoginDate": null,
"changePwdDate": null,
"failedLogins": null,
"securityQuestion": "48400a54-6910-4237-800a-5469109237ee",
"securityAnswer": "xxxxxxxxxxxx",
"suspended": false,
"mustChangePassword": false,
"dynRealms": [],
"auxClasses": [],
"plainAttrs": [
{
"schemaInfo": null,
"schema": "email",
"values": [
"varontron@gmail.com"
]
}
],
"derAttrs": [],
"virAttrs": [],
"resources": [],
"roles": [],
"dynRoles": [],
"relationships": [],
"memberships": [],
"dynMemberships": []
},
"userPatch": null,
"workflowFormProperties": [
{
"id": "username",
"name": "Username",
"type": "String",
"value": "varontron",
"readable": true,
"writable": false,
"required": false,
"datePattern": null,
"enumValues": {}
},
{
"id": "approve",
"name": "Approve?",
"type": "Boolean",
"value": null,
"readable": true,
"writable": true,
"required": true,
"datePattern": null,
"enumValues": {}
},
{
"id": "rejectReason",
"name": "Reason for rejecting",
"type": "String",
"value": null,
"readable": true,
"writable": true,
"required": false,
"datePattern": null,
"enumValues": {}
}
]
}
]
An
Re: Dashboard exception - approvals
Posted by Francesco Chicchiriccò <il...@apache.org>.
On 17/04/2018 17:39, varontron wrote:
> Hi,
>
> Yes I deployed the generated war files, thus I was able to update the
> default Activiti "User Workflow" with the approval form extensionElements as
> described in
> https://ci.apache.org/projects/syncope/2_0_X/reference-guide.html#approval
>
> Here's the trace (it's all wicket):
It seems that at least one of the forms have a null key; to check, go to
http://host:port/syncope/swagger
then to UserWorkflow > GET
click "Try out" then "Execute" and paste the response body.
Regards.
P.S. It's better to use the user ML for such e-mails: please use that
for the future, thanks.
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/
Re: Dashboard exception - approvals
Posted by varontron <va...@gmail.com>.
Hi,
Yes I deployed the generated war files, thus I was able to update the
default Activiti "User Workflow" with the approval form extensionElements as
described in
https://ci.apache.org/projects/syncope/2_0_X/reference-guide.html#approval
Here's the trace (it's all wicket):
14:29:30.993 ERROR
org.apache.syncope.client.console.SyncopeConsoleRequestCycleListener -
Exception found
org.apache.wicket.WicketRuntimeException: An error occurred while getting
the model object for Component: [Component id = key, page =
org.apache.syncope.client.console.pages.Dashboard, path =
body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key,
type = org.apache.wicket.markup.html.basic.Label, isVisible = true,
isVersioned = true, markup = [markup =
jar:file:/var/lib/tomcat8/webapps/syncope-console/WEB-INF/lib/syncope-client-console-2.0.9-SNAPSHOT.jar!/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html
<p wicket:id="key"></p>, index = 0, current = '<p wicket:id="key">' (line
0, column 0)]]
at org.apache.wicket.Component.getDefaultModelObject(Component.java:1651)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.Component.getDefaultModelObjectAsString(Component.java:1674)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.basic.Label.onComponentTagBody(Label.java:115)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.WebComponent.onRender(WebComponent.java:60)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1693)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1648)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.link.AbstractLink.onComponentTagBody(AbstractLink.java:82)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1657)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1693)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:799)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:77)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1657)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1693)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1648)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1657)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.list.ListView.renderItem(ListView.java:584)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.list.ListView.renderChild(ListView.java:573)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:102)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1693)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1648)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1657)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1693)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:799)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:77)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1657)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1693)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1648)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRenderComponent(Component.java:2601)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1657)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1515)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1718)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Page.onRender(Page.java:879)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:141)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.internalRender(Component.java:2401)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.render(Component.java:2329)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Page.renderPage(Page.java:1018)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:236)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
~[wicket-request-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70)
~[wicket-native-websocket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:868)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1460)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_131]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_131]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
~[tomcat8-util-8.0.32.jar:8.0.32]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.util.MissingResourceException: Unable to find property:
'null' for component:
body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key
[class=org.apache.wicket.markup.html.basic.Label]. Locale: null, style: null
at org.apache.wicket.Localizer.getString(Localizer.java:268)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.model.ResourceModel$AssignmentWrapper.load(ResourceModel.java:129)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.model.ResourceModel$AssignmentWrapper.load(ResourceModel.java:99)
~[wicket-core-7.10.0.jar:7.10.0]
at
org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:135)
~[wicket-core-7.10.0.jar:7.10.0]
at org.apache.wicket.Component.getDefaultModelObject(Component.java:1646)
~[wicket-core-7.10.0.jar:7.10.0]
... 105 more
-----
http://analgesicsolutions.com
https://github.com/Novartis/YADA
--
Sent from: http://syncope-dev.1063484.n5.nabble.com/
Re: Dashboard exception - approvals
Posted by Francesco Chicchiriccò <il...@apache.org>.
Hi,
approval can only work with Activiti or Flowable.
When you say 'Re-deployed with '-P all' ', do you mean you deployed the
generated WAR files after building with all parameters indicated in
https://syncope.apache.org/docs/reference-guide.html#customization
e.g.
mvn -Pall clean verify \
-Dconf.directory=/opt/syncope/conf \
-Dbundles.directory=/opt/syncope/bundles \
-Dlog.directory=/opt/syncope/log
?
Could you please attach the whole stacktrace from the console logs?
Regards.
On 17/04/2018 17:14, varontron wrote:
> Hi,
>
> Unable to load dashboard due to "Unable to find property: 'null' for
> component:
> body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key..."
>
> Steps to reproduce:
>
> Deployed 2.0.9-SNAPSHOT
> Configured policies, realm, role
> Using default schemas
> (No resources, users, or groups created)
> Re-deployed with '-P all'
> Updated role with WORKFLOW entitlements (though no users assigned to role
> yet)
> Configured approval form in Activiti Approval User Task per Reference Guide
> Self-registered user with enduser ui
> Dashboard caused exception:
>
> Last cause: Unable to find property: 'null' for component:
> body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key
> [class=org.apache.wicket.markup.html.basic.Label]. Locale: null, style: null
> WicketMessage: An error occurred while getting the model object for
> Component: [Component id = key, page =
> org.apache.syncope.client.console.pages.Dashboard, path =
> body:approvalsWidget:latestAlertsList:latestAlerts:0:alert:approval:key,
> type = org.apache.wicket.markup.html.basic.Label, isVisible = true,
> isVersioned = true, markup = [markup =
> jar:file:/var/lib/tomcat8/webapps/syncope-console/WEB-INF/lib/syncope-client-console-2.0.9-SNAPSHOT.jar!/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html
> <p wicket:id="key"></p>, index = 0, current = '<p wicket:id="key">' (line
> 0, column 0)]]
>
> Did I leave out a config step?
> Is this resolvable without dropping the db?
> Is it possible to catch the exception so as not to break the dashboard?
>
> Thanks,
> Dave
>
> -----
> http://analgesicsolutions.com
> https://github.com/Novartis/YADA
>
> --
> Sent from: http://syncope-dev.1063484.n5.nabble.com/
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/