Unable to Log on to Retail Pro Prism
Scenario
Case Study: User unable to log on to Retail Pro Prism (Case 1)
Issue:
The user cannot launch the Proxy or log in to Prism. An error appears when attempting to start the Proxy.
Example:
____________________________________________________________________
Troubleshooting Steps
1. Check Services
When troubleshooting login issues in Prism, start by verifying that essential services are running. Prism relies on several services for full functionality.
Services to Check:
- Apache: Manages HTTP/S calls.
- RabbitMQ: Handles messaging and message queues; critical for all other services.
- PrismBackOffice: Manages inventory and back-office tasks.
- PrismCommonService: Supports various modules within Prism.
- PrismPOSV1Service: Handles POS tasks.
- PrismLicSvr: Required for Prism to run.
Example Diagnostic:
1. Verify RabbitMQ Service:
Begin by checking if the RabbitMQ service is running. If RabbitMQ is not active, this could be a primary cause of the login issue.
Example:
2. Attempt to Start RabbitMQ:
- Try restarting the RabbitMQ service from the Services panel.
- Result: RabbitMQ starts successfully.
3. Launch Prism Proxy: Attempt to launch the Prism Proxy after starting RabbitMQ.
- Result: Launch attempt fails.
4. Restart All POS-Related Services: Restart the remaining essential services to ensure all dependencies are active.
- Result: All POS-related services start without issues.
5. Attempt to Launch Prism Proxy Again: After restarting all services, try launching Prism Proxy once more.
- Result: Attempt fails.
6. Bypass Proxy: Try connecting directly via the web client instead of the Proxy.
- Result: Connection using the web client is successful.
Example:
7. Log in with Sysadmin Credentials: Attempt to log in with sysadmin credentials.
- Result: Login attempt fails, and the login dialog remains static.
___________________________________________________________________
2. Review Developer Tools in the Browser
If the login issue persists, use the browser's Developer Tools to gain more insight.
- Open Developer Console:
- Press F12 or select Developer Tools from the browser's Tools menu.
Example:
- Select the Network Tab:
- Choose the Network tab and attempt to log in to Prism.
- Observation: An "Auth" error is displayed in the console.
Example:
3. Inspect the Auth Error:
- Click on the error name (e.g., "auth") to expand details.
- Navigate to the Preview tab, then right-click on the field labeled "errors."
- Select Copy Value from the context menu and paste it into Notepad or another text editor for review.
- Result: The error message indicates a problem connecting to RabbitMQ.
3. Identify the Issue Using the Browser Error
The error captured in the browser session provides additional context for diagnosing connectivity issues.
Error Message Sample:
json
Copy code
[{"date":"2024-04-01T08:56:01.859-07:00","class":"EPrismCoreException","errorcode":"Messaging.4","errormsg":"Unable to connect to RabbitMQ, Please check connectivity and try again","httpcode":400,"httpmessage":"400 - Bad Request","functionname":"Unknown","paramvalues":null},{"date":"2024-04-01T08:56:01.859-07:00","class":"EConnectionFailedException","errormsg":"The connection has failed due to a transport problem: Processing error Processing error"}]
The error message confirms that RabbitMQ is not establishing a connection, leading to failed login attempts.
4. Attempt to Connect to the RabbitMQ Console
To further investigate, try accessing the RabbitMQ console to verify its status.
- Open RabbitMQ Console:
- Attempt to connect to the RabbitMQ console.
Example:
2. Review Console Behavior:
- Observation: RabbitMQ launches but fails to connect to the host correctly.
__________________________________________________________________
5. Check RabbitMQ Logs
If RabbitMQ cannot connect, check its logs for specific error messages. Large or growing logs should be cleared before capturing a new instance of the error.
1. Stop and Rename Log File:
- Stop the RabbitMQ service.
- Rename the current log file to capture a fresh log on restart.
RabbitMQ Log Location:
2. Start RabbitMQ and Open the New Log:
- Restart RabbitMQ.
- Open the new log in Notepad++.
3. Search for Errors in the Log:
- Use Notepad++ to search for the term "error," starting from the bottom up.
- Diagnostic Finding:
A crash report in the log points to an issue with the recovery.dets file.
Crash Report Sample:
2024-04-01 09:16:29.005 [error] <0.324.0> CRASH REPORT Process <0.324.0> with 0 neighbours crashed with reason: no match of right hand value {error,{not_a_dets_file,"c:/PROGRA~3/RETAIL~1/Server/RabbitMQ/db/RABBIT~1/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/recovery.dets"}}
___________________________________________________________________
6. Review System Event Viewer
Check the system's Event Viewer for additional context, which can confirm if the issue was due to a critical error or unexpected termination of RabbitMQ.
- Open Event Viewer:
- Review any recent critical errors related to RabbitMQ.
Example:
___________________________________________________________________
7. Identify an Appropriate Solution
Based on diagnostics, search the My.RetailPro.com knowledge base for known solutions to issues with the recovery.dets file.
- Example Solution: Follow the steps outlined in the knowledge base article to resolve issues related to the recovery.dets file.
Summary
These troubleshooting steps are broadly applicable for login issues related to RabbitMQ and Prism. Key steps included:
- Confirm essential services are running.
- Use browser Developer Tools to isolate issues.
- Review logs for service-specific errors.
- Check system components, such as Event Viewer, for related errors.
- Identify and apply an appropriate solution based on your findings.