Custom JSF Page Returning 404 Error in IdentityIQ Despite Correct Component Registration

Hi everyone,

I am currently working on developing a custom page (a form-based UI) in SailPoint IdentityIQ, but I am hitting a persistent 404 Not Found error when trying to access the page—both via the sidebar QuickLink and when attempting to access the URL directly in the browser.

I have created and configured the following files in my IntelliJ project environment:

  1. workgroupManagement.xhtml (The frontend form layout, placed under the webapp directory)

  2. workgroupManagement.js (The AngularJS controller for frontend logic)

  3. faces-config.xml (Registered the navigation rule and outcome)

  4. WorkgroupManagementResource.java (The JAX-RS REST API backend controller)

  5. RuleWorkgroupManagement.xml (The backing rule for data handling)

The Issue: The QuickLink menu appears perfectly fine in the sidebar. However, clicking it or hitting http://localhost:8080/identityiq/workgroupManagementPage.jsf (or even targeting the direct path .xhtml) immediately results in a HTTP 404 error.

I have verified that the file structure matches the deployment artifact paths, and no critical syntax errors are popping up during Tomcat initialization, though it seems the server fails to resolve the JSF mapping entirely for this specific page.

Has anyone encountered this issue before? What did I miss in the deployment descriptor, faces configuration, or directory structure to make Tomcat recognize this custom path properly?

Any insights or troubleshooting steps from the logs I should look closer into would be highly appreciated.

Thank you!

Hello @EgyDjaya Welcome to the SailPoint Developer Community​:slightly_smiling_face:

create a workflow and add below step. Make sure workflow should be call in a quicklink to redirect to custom xhtml page.

<Step name="File Upload Form" posX="97" posY="187">
<Approval mode="serial" name="Work Group Management Form" owner="ref:launcher" renderer="workgroupManagement.xhtml">
<Arg name="launcher" value="ref:launcher"/>
<Arg name="workItemDescription" value=""/>
<Arg name="workItemRequester" value="$(launcher)"/>
<Arg name="workItemType" value="Generic"/>
</Approval>
</Step>

Can you validate faces-config by checking the navigation rule?

<navigation-rule>
<description>workGroupManagement</description>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>POJOClass(WorkgroupManagementResourceClass)</from-outcome>
<to-view-id>/workitem/workgroupManagement.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>

Let me know if you face any issues after make these changes

Hi @EgyDjaya ,

Could you explain what is requirement to navigate custom page?

If you want it from custom quick link, you can create new custom quicklink and adjust quicklink category if needed.

Custom Quicklinks can do any of these things:

  • Launch a workflow
  • Directly link to other pages in the IdentityIQ user interface
  • Launch an external web link

Seems link you are looking for 3rd option. Please refer this for more details →

Quicklinks 7.1 and later - Compass

@EgyDjaya

We have faced similar excpetion.

  1. Please check - URL must match the deployed file location.

  2. Verify the file physically exists at server in war.

@EgyDjaya From the description you have provided, it looks like you modified the right set of artefacts. We need to review what has been modified inside those artefacts to understand why it is throwing 404. Could you please share them?