Skip Headers
Oracle® Fusion Applications Administrator's Troubleshooting Guide
11g Release 1 (11.1.4)

Part Number E25450-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

11 Troubleshooting Oracle WebCenter Portal

This chapter describes common problems that you might encounter when using Oracle WebCenter Portal and explains how to solve them.

This chapter contains the following topics:

Some procedures in this chapter reference content in the Oracle Fusion Middleware guides. These guides describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

11.1 Problems and Solutions for WebCenter Portal Portlets

Oracle Fusion Applications utilizes portlet technology in various places, typically to remotely invoke a business view that is implemented as an Oracle Application Development Framework (ADF) task flow. This enables functionality that is implemented on one Oracle Fusion application, for example, HCM, to be incorporated into another Oracle Fusion application, for example, CRM, as if it was embedded in the same application. The CRM application is in fact embedding a portlet that obtains its markup from the remote HCM application, which is running on another server. The task flow that is implemented on the HCM server is made available as a portlet through a component called the Oracle JSF Portlet Bridge. This wrapper makes the task flow available as a portlet producer that can be consumed by another application.

This section contains the following topics:

11.1.1 Introduction to Troubleshooting WebCenter Portal Portlets

When running Oracle Fusion Applications, it may not be readily apparent which portions of the user interface are implemented as portlets. The only time this may actually be evident is when there is a problem.

Useful Terminology

The following list defines some common terms for WebCenter Portal portlets:

  • Portlet

    A portlet is a region of the screen that is displayed from a remote source. In Oracle Fusion Applications, portlets conform to the Web Services for Remote Portlets (WSRP) standard, and implement the JSR 286 portlet specification.

  • Oracle JSF Portlet Bridge

    The Oracle JSF Portlet Bridge is a component that enables an ADF application to be exposed as a WSRP portlet producer application. Oracle Fusion applications are all implemented as ADF applications.

  • Producer application

    A producer application is an ADF application with pages or task flows that have been enabled to run as portlets. This type of application can run in dual modes: as a servlet (like a regular web application), or as a portlet (when consumed by a consumer application through the Oracle JSF Portlet Bridge).

  • Consumer application

    A consumer application is an application that consumes the portlets exposed by a producer application. Before consuming a portlet (by dropping it onto a page), application developers must first register the portlet producer application with the consumer application.

Useful Resources

The following list provides some useful resources to use when diagnosing problems with WebCenter Portal portlets:

  • Portlet Consumer Test Page

    A page that provides diagnostic information about the consumer application. You can access the Portlet Consumer Test Page using the following URL:

    http://host:port/context-root/faces/oracle/portlet/client/adf/diagnostic/pages/ConsumerTestPage.jspx
    

    where:

    • host is the server to which the consumer application is deployed

    • port is the port to which the server is listening for HTTP requests

    • context-root is the consumer web application's context root

    For example:

    http://mymanagedserver.example.com:8888/myapp/faces/oracle/portlet/client/adf/diagnostic/pages/ConsumerTestPage.jspx
    

    For more information, see Section 11.1.6.1.2.

  • Producer Test Page

    A page that provides diagnostic information about the portlet producer application. You can access the Producer Test Page using the following URL:

    http://host:port/context-root/info
    

    where:

    • host is the server to which the portlet producer is deployed

    • port is the port to which the server is listening for HTTP requests

    • context-root is the producer web application's context root

    For example:

    http://portlets.example.com:9999/sample/info
    

    The Producer Test Page includes a link to the Web Service Definition Language (WSDL) document to use for registration, for example:

    http://portlets.example.com:9999/sample/portlets/wsrp2?WSDL
    

    For more information, see Section 11.1.6.1.3.

  • Running a producer as a servlet application through Faces

    This is also known as running the application as a servlet. Before an application can act as a portlet provider, it must be able to run correctly through standard HTTP requests.

    To run an application as a servlet, use the following URL:

    http://host:port/context-root/faces/path-to-page/page.jspx
    

    where:

    • host is the server to which the portlet producer is deployed

    • port is the port to which the server is listening for HTTP requests

    • context-root is the producer web application's context root

    • path-to-page is the path to the page you want to run

    • page is the name of the page you want to run

    For example:

    http://portlets.example:9999/sample/faces/index.jspx
    

    The Producer Test Page provides links to run such pages or task flows as servlets. For more information, see Task 2, "Run the JSF Portlet as a Servlet".

  • Logging configuration file

    The logging configuration file, logging.xml, is located in:

    DOMAIN_HOME/config/fmwconfig/servers/server/logging.xml
    
  • Diagnostic log file

    The default location of the diagnostic log file is:

    DOMAIN_HOME/servers/server/logs/server-diagnostic.log
    

Process

Follow the process outlined in Table 11-1 when using the information in this section. If the information in a particular section does not resolve your problem, proceed to the next step in this process.

Table 11-1 Process for Using the Information in this Section

Step Section to Use Purpose

1

Section 11.1.2 to Section 11.1.5

Perform problem-specific troubleshooting procedures. These sections describe:

  • Possible causes of the problems

  • Solution procedures corresponding to each of the possible causes

1

Section 11.1.6

Perform general diagnostics steps when you encounter problems with WebCenter Portal portlets.

2

Section 13.1

Use My Oracle Support to get additional troubleshooting information about Oracle Fusion Applications or WebCenter Portal portlets. My Oracle Support provides access to several useful troubleshooting resources, including Knowledge Base articles and Community Forums and Discussions.

When you encounter problems with WebCenter Portal portlets, there are some general diagnostics steps that you can follow.

3

Section 13.1

Log a service request if the information in this chapter and My Oracle Support does not resolve your problem. You can log a service request using My Oracle Support at https://support.oracle.com.


11.1.2 Portlet Displays a Portlet Consumer Error

The message Portlet Consumer Error (shown in Figure 11-1) typically indicates that an error occurred within the operation of the portlet parts of the portlet consumer application.

Figure 11-1 Portlet Displaying a Portlet Consumer Error

Description of Figure 11-1 follows
Description of "Figure 11-1 Portlet Displaying a Portlet Consumer Error"

Problem

An error has occurred within the operation of the portlet parts of the portlet consumer application. In other words, the error is unrelated to the remote portlet producer application.

Solution

Consult the diagnostic log file to determine the cause of the exception. For information about portlet logging, see Section 11.1.6.2.

The exception that caused the error message to be displayed is logged. Wherever possible, a message is included in the log at the start of the exception stack to indicate for which portlet binding the exception occurred. Example 11-1 shows a message logged for a portlet error.

Example 11-1 Example Message Logged for a Portlet Error

<PortletRenderer> <setErrorState> An error has occured for Portlet Binding
portlet1.
oracle.portlet.client.container.PortletContentTypeException: Unexpected content
type "null" in WSRPGetMarkup response.
...

Pay particular attention to the cause exceptions in the stack as this is likely to indicate what the real underlying problem is.

The cause is likely to be an internal error and the appropriate course of action is to contact Oracle Support with the log files of the consumer application.

11.1.3 Portlet Displays a Portlet Timeout

If a Portlet Timeout message is displayed in the area of the page that you would expect to contain a portlet (as shown in Figure 11-2), this means that the consumer waited for a configured period of time for the producer to respond and did not get a response during that time, or the response did not complete during that time. There are a number of possible causes.

Figure 11-2 Portlet Displaying a Portlet Timeout Error

Description of Figure 11-2 follows
Description of "Figure 11-2 Portlet Displaying a Portlet Timeout Error"

Problem 1

The producer machine is overloaded.

Solution 1

Check the load on the producer Managed Server (the tools used to do this vary depending on the operating system that is running on the producer). If the load is high, check whether a particular process is causing this high load, and whether such a process could be run on another machine, or at a less busy time. If no single process is causing the high load, or if the Oracle WebLogic Server is causing the high load, and if the load is consistently high, consider whether the producer hardware is adequate, or whether it is necessary to upgrade it (or add further nodes to the cluster). Also consider adjusting the Oracle WebLogic Server configuration to increase the size of the request thread pool. For more information, see the "Tuning WebLogic Server" chapter in Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

Problem 2

The network is overloaded, or there are problems with the network affecting communication between the consumer and producer.

Solution 2

Check that you can ping the producer machine from the consumer machine. Check that you can access the producer's WSRP Producer Test Page in your local browser (for information, see Useful Resources). If this works, check that you can access this same page from a browser running on the consumer machine. If any of these steps cause problems, and the machine is not overloaded, this could be a network problem, which should be investigated by a system administrator.

Problem 3

The log or trace files indicate that there is a deadlock (or a stuck thread) on the producer machine causing the request thread to hang.

Solution 3

This should not happen during normal operation. If it does occur, there will generally be an error in the producer's log files indicating the point at which the deadlock occurred. This may help diagnose the problem. In some cases, it may be possible to alleviate this by modifying the configuration of Oracle WebLogic Server. For more information, see Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server.

Problem 4

The producer application is running slowly (for example, due to processing large quantities of data).

Solution 4

In this case, the producer application may be processing large quantities of data, causing it to spend too long building the response. If the application will regularly deal with large quantities of information, it may be necessary to either add or improve producer hardware. If this is not possible you can increase the portlet timeout duration.

For information about how to configure the portlet timeout, see Solution 5.

Problem 5

The portlet timeout values have been misconfigured such that the timeout period is too short.

Solution 5

Typically, the timeout for a portlet is set on the registration of the portlet. This may have been set to a value that does not give time for the portlet to respond. You can configure the portlet timeout on the producer connection in the consumer application using:

  • Fusion Applications Control, for more information, see the "Editing Producer Registration Details Using Fusion Middleware Control" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

    Note:

    The procedures referenced in this guide describe using Fusion Middleware Control. These procedures also apply to Fusion Applications Control.

  • the setWSRPProducer WLST command, for more information, see the "setWSRPProducer" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

Also, the portlet section of the adf-config.xml file allows minimum, maximum, and default values for portlet timeouts to be configured across the whole application. The maximum timeout imposes an upper limit on timeouts specified by portlet producers, so if the maximum timeout is too short, this could cause unwanted portlet timeout errors even if the timeout specified on the producer connection is longer.

For more information about portlet timeout settings in adf-config.xml, see the "adf-config.xml" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition). After editing the adf-config.xml file, you must redeploy the application. For more information, see the "Redeploying Framework applications" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.1.4 Portlet Displays a Remote Portlet Communication Error

When a section of the screen shows the Remote Portlet Communication Error message (as shown in Figure 11-3), and there is an otherwise blank region surrounding it, this area is expected to be filled with a portlet, which the application is not able to contact.

Figure 11-3 Portlet Displaying a Remote Portlet Communication Error

Description of Figure 11-3 follows
Description of "Figure 11-3 Portlet Displaying a Remote Portlet Communication Error"

Problem 1

The producer is down.

Solution 1

It could be that the producer application is not running, or the Managed Server on which it is deployed is not started. In this case, it will need to be started. Identify the application that needs to be started based on the task being attempted at the time of the portlet failure. For more information, see Section 11.1.6.1.1.

Problem 2

The producer log files indicate that the web services security is incorrectly configured.

Solution 2

In Oracle Fusion Applications deployments, web services security (WS-Security) is managed with global web services security policies.

Troubleshooting steps for web services security depend on the type of security profile being used, for example AuthN, SSL, or Message Security.

For more information about troubleshooting web service security, see:

For information about the different types of security profile, see the "Locking Down Web Services: Points to Consider" section in the "Hardening Backchannel Network and Services" chapter of the Oracle Fusion Applications Security Hardening Guide.

The security policies set on the portlet producer's WSRP_v2_Service web service ports are as follows:

  • WSRP_v2_ServiceDescription_Service port: oracle/no_authentication_service_policy

  • WSRP_v2_PortletManagement_Service port: oracle/no_authentication_service_policy

  • WSRP_v2_Markup_Service port: no policy specified, so that it picks up the globally attached policy

  • WSRP_v2_Registration_Service port: oracle/no_authentication_service_policy

If the producer ports are configured in any other way, then it may be the cause of the problem. In particular, if a local policy is applied to the WSRP_v2_Markup_Service port, and the policy does not match the corresponding policy on the producer connection, then the port or the connection will need to be updated to specify matching policies, or be removed, so that the globally attached policies can take effect.

Problem 3

The producer Managed Server cannot be reached.

Solution 3

The producer may be in a location that cannot be reached by the consumer application, due to intervening firewalls or incorrect routing rules. In an environment that is installed by Oracle's provisioning software, this should not be the case, but it is worth checking that you are able to access the WSDL endpoint for the producer from the machine hosting the consumer, by going to:

http://host:port/context-root/portlets/wsrp2?WSDL

Where:

  • host is the server to which the portlet producer is deployed

  • port is the port to which the server is listening for HTTP requests

  • context-root is the producer web application's context root

For example:

http://portlets.example.com:9999/sample/portlets/wsrp2?WSDL

If you cannot reach the WSDL endpoint, contact your network administrator.

11.1.5 Portlet Displays a Remote Portlet Error

If the portlet displays a Remote Portlet Error message (as shown in Figure 11-4), this indicates that the producer responded with an error message. The error message is returned in the form of a SOAP fault message inside the response document. There are a number of reasons the producer might return an error. The best strategy to diagnose these errors is to first find the corresponding exception stack trace in the consumer diagnostic logs (see Section 11.1.6.2). This stack trace shows what kind of fault was returned by the producer, plus any further information required in the response. Some faults you may encounter are listed in the following sections.

Figure 11-4 Portlet Displaying a Remote Portlet Error

Description of Figure 11-4 follows
Description of "Figure 11-4 Portlet Displaying a Remote Portlet Error"

Problem 1

OperationFailedException. This is the most common type of Remote Portlet Error and it is a catch-all for most unhandled exceptions raised in the producer application.

Solution 1

To resolve an OperationFailedException, examine the exception in the consumer diagnostic logs. This generally shows any exception that was raised in the producer application to trigger the fault response as the final Caused by exception.

If required, you can then examine the diagnostic logs on the producer application for more detail, or for any related exceptions that occurred prior to the fault being triggered. In some cases, the exception in the producer log indicates a problem that can be simply resolved, such as a database connection failure or configuration problem. In other cases, the exception might indicate a product bug.

Problem 2

InvalidRegistrationException. This error indicates that the producer has not been properly registered with the consumer before the consumer attempted to communicate with it. This could also occur if the producer's persistence store has been moved or deleted since the consumer registered it.

For more information about persistence stores, see the "Setting Up a Preference Store" section in Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

Solution 2

If this error is observed, the most likely cause is a problem during provisioning. It is also worth checking that the producer application is using a consumer persistence store. Example 11-2 shows how this is indicated in the producer application's web.xml file.

Example 11-2 Persistence Store Setting in web.xml

<env-entry>
  <env-entry-name>oracle/portal/wsrp/server/persistentStore</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>Consumer</env-entry-value>
</env-entry>

If the persistence store setting is not the problem, contact Oracle Support with the consumer log file.

Problem 3

InvalidHandleException. This indicates that the consumer has asked the producer to render, or otherwise interact with, a portlet instance that the producer does not know about. This could occur if the producer's persistence store has been corrupted in some way since the portlet was added to the page.

Solution 3

If this error is observed, the most likely cause is a problem during provisioning, or a missing persistentStore setting in the web.xml file, as described in Solution 2.

Problem 4

AccessDeniedException. This indicates that the producer application decided that the current user did not have access to the portlet or task flow in question.

Solution 4

If this error is observed, it could either be a legitimate error message or an indication of a configuration problem. In most cases, Oracle Fusion Applications should deal with authorization errors gracefully, without a Portlet Remote Error being displayed. If this error is caused by a configuration error, contact Oracle Support with the consumer log file.

11.1.6 Diagnosing WebCenter Portal Portlet Problems

When you encounter problems with WebCenter Portal portlets, there are some general diagnostics steps that you can follow.

This section contains the following topics:

11.1.6.1 Using Diagnostic Tools

There is a set of tools available for both the consumer and producer to help identify and resolve issues when running Oracle JSF Portlet Bridge portlets.

If you encounter a portlet error message when a portlet is rendered, or if the portlet displays but you cannot interact correctly with it, there are some general steps using these tools that you should follow to diagnose the issue.

This section contains the following topics:

11.1.6.1.1 Identify the Portlet Instance

The first step when you encounter a portlet error, is to identify which portlet producer and portlet instance is being invoked. Execute the portletDebugShow() JavaScript from your browser to display this information over the top of the main portlet content.

To identify the portlet instance:

  1. Enter the following command in the Location field of your browser:

    javascript:portletDebugShow()
    

    Tip:

    In Internet Explorer and Google Chrome, you must type this command in the Location field. If you paste the command into the field, the javascript piece is removed.

    In Firefox 6 and above, you cannot enter JavaScript in the Location field, you must enter the command in the JavaScript Console.

  2. After running the script, every portlet now displays the following information:

    • Producer name

    • Portlet name

    • Portlet instance ID

    • Execution Context IDs (ECIDs)

      The ECIDs are unique IDs used to identify a portlet request. Use the ECIDs to correlate the messages across different consumer and producer log files using Fusion Applications Control. The same ECID is propagated from the consumer to the producer. For more information, see the "Correlating Messages Across Log Files and Components" section in the Oracle Fusion Middleware Administrator's Guide.

      Note:

      Broken portlets show two ECIDs: one for the request in which the error occurred and one for request in which the error was reported.

      For IFRAME portlets, for example Oracle JSF Portlet Bridge portlets, the ECIDs are different. This is because the error is reported in a later request than the one in which the original exception occurred. When checking the logs, you should look for both ECIDs, as either may contain relevant information.

    Description of portlet_debug.gif follows
    Description of the illustration portlet_debug.gif

    Tip:

    If you cannot see all of the information due to the size of the portlet, you can click anywhere within the diagnostic information to display it in a separate panel that is not confined to the portlet dimensions.

    You can use this information in the subsequent diagnostic steps to help locate the issue.

    Note:

    The ECIDs shown in the portlet diagnostic information do not reflect partial page rendering requests that have been made to the portlet producer (using the portlet consumer resource proxy). These requests may update the portlet, but the ECIDs are not recorded in the portlet diagnostic information. Errors that occur during these requests are logged on the producer and by the portlet resource proxy on the consumer but you cannot use the ECID information reported in the portlet diagnostic information to help you determine the ECIDs for the relevant log entries.

  3. When you have finished debugging the portlets, enter the following command to hide the portlet debugging information:

    javascript:portletDebugHide()
    

    Tip:

    In Internet Explorer and Google Chrome, you must type this command in the Location field. If you paste the command into the field, the javascript piece is removed.

    In Firefox 6 and above, you cannot enter JavaScript in the Location field, you must enter the command in the JavaScript Console.

11.1.6.1.2 Examine the Portlet Consumer Test Page

The next step in diagnosing a portlet error is to access the Portlet Consumer Test Page (shown in Figure 11-5) to locate the portlet producer and, if necessary, test the portlet in isolation.

Figure 11-5 The Portlet Consumer Test Page

Description of Figure 11-5 follows
Description of "Figure 11-5 The Portlet Consumer Test Page"

The Portlet Consumer Test Page contains three tabs:

  • Producers: This tab lists all the producers registered with the consumer application. Selecting a producer provides specific information about that producer.

  • Sanity Checks: This tab may contain a predefined set of portlet instances and required parameters that can be run in the consumer application, as configured by the consumer application developer. Any failures within these portlets indicate a problem with the corresponding producer and/or portlet.

  • Configuration: This tab enables you to identify the consumer configuration entries for portlet consumption. You cannot change these values as they are stored within the application; they are displayed for reference information only.

After accessing the Portlet Consumer Test Page, you can perform further diagnostic steps.

This section contains the following topics for using the Portlet Consumer Test Page to diagnose portlet issues:

Task 1   Access the Portlet Consumer Test Page

The Portlet Consumer Test Page provides diagnostic information about the portlet consumer.

To access the Portlet Consumer Test Page:

  1. In your browser, enter the URL for the Portlet Consumer Test Page:

    http://host:port/context-root/faces/oracle/portlet/client/adf/diagnostic/pages/ConsumerTestPage.jspx
    

    Note:

    If the consumer application is secured, the Portlet Consumer Test Page can be accessed only by users granted permission to view those pages.

  2. In the Portlet Consumer Test Page, you can perform further diagnostic steps as described in the following sections.

Task 2   Locate the Portlet Producer

The Producers tab of the Portlet Consumer Test Page lists all the producers that have been registered with the consumer application. If a portlet instance in your application displays an error message, you can view information about the producer that owns the portlet by selecting it on this tab.

To locate the portlet producer:

  1. In the Portlet Consumer Test Page, select the portlet producer that owns the portlet instance that is reporting the error.

    You noted this information in Section 11.1.6.1.1.

  2. The following information is provided for the selected producer:

    • Producer Test Page: A link to the Producer Test Page.

    • Configuration: Details of potential issues surrounding skins, security, and timeouts associated with the using producer.

    • Offered Portlets: A list of all portlets offered by the producer. If there are no offered portlets listed, this indicates that there is a problem with the registration metadata for the producer.

    • Portlet Instances: A list of all portlet instances for the selected producer in the consumer application. This list may be empty.

    You can use this information to identify potential issues with the producer.

Task 3   Locate and Run the Portlet Instance

If you have still not been able to identify the cause of the portlet error, the issue may lie with the portlet instance itself.

To locate and run the portlet instance:

  1. In the Portlet Consumer Test Page, select the portlet producer that owns the portlet instance that is reporting the error.

    You noted this information in Section 11.1.6.1.1.

  2. Under Portlet Instances, select the portlet instance to display the Consumer Test Page: Portlet page.

    You noted this information in Section 11.1.6.1.1.

    Description of portlet_test_page.png follows
    Description of the illustration portlet_test_page.png

  3. The Portlet Consumer Test Page: Portlet page renders the portlet in a standalone page. If the portlet runs correctly on this page, the problem is most likely caused by other components on the page containing the broken portlet.

  4. The Parameters section enables you to experiment with how the portlet looks using a stretch or flow layout.

  5. If the portlet accepts parameters, the Parameters section also lists all the public parameters for the portlet. Enter values for any parameters to test that the portlet is receiving parameters correctly.

  6. To navigate back to the Portlet Consumer Test Page, click the producer name link at the top of the page.

Task 4   Perform Sanity Checks

The Sanity Checks tab of the Portlet Consumer Test Page (shown in Figure 11-6) provides a quick overview of the state of portlet communication in your application across all producers.

Figure 11-6 The Sanity Checks Tab

Description of Figure 11-6 follows
Description of "Figure 11-6 The Sanity Checks Tab"

The Sanity Checks tab references portlet instances used within the consumer application. This list is configured by the application developer who chose the portlets to include and the parameters to pass to these portlets.

The checks on this page do not render the output in the UI, but simply create a runnable instance of the portlet under the covers and report any failures if any exception is returned by the portlet.

To perform sanity checks:

  1. In the Portlet Consumer Test Page, click the Sanity Checks tab.

  2. Click the check link next to the portlet that you want to test.

    The results of the sanity tests are displayed in the Status column. If any sanity tests have failed, run the corresponding portlet to troubleshoot the issue.

  3. To run sanity checks on all listed portlets, click the Run all Sanity Checks link.

Task 5   Check Consumer Configuration Entries

The Configuration tab of the Portlet Consumer Test Page (shown in Figure 11-7) enables you to identify the consumer configuration entries for portlet consumption. This tab displays settings defined in the adf-config.xml file, for example, the minimum and maximum timeout values and the consumer version number. You cannot change these values as they are stored within the application; they are displayed for reference information only.

Figure 11-7 The Configuration Tab

Description of Figure 11-7 follows
Description of "Figure 11-7 The Configuration Tab"

11.1.6.1.3 Examine the Producer Test Page

If you cannot identify the cause of the error in the consumer application, the next step is to use the Producer Test Page (shown in Figure 11-8) to identify potential issues with the portlet producer application.

Figure 11-8 The Producer Test Page

Description of Figure 11-8 follows
Description of "Figure 11-8 The Producer Test Page"

Access to the main Producer Test Page is public, but links to the test pages for each portlet are accessible only to users granted permission on the underlying pages and task flows.

The Producer Test Page contains five sections:

  • Portlets

    A list of all the portlets within the producer. For Oracle JSF Portlet Bridge portlets, each portlet also provides a separate link to run the portlet as a servlet (this is a prerequisite to running them as portlets: if a portlet does not run as a servlet, it cannot run as a portlet).

  • Container Configuration

    Information on where the consumer preference information is stored.

  • Container Version

    The version number of the Portlet Producer Container.

  • WSDL URLs

    Links to the Web Service Definition Language (WSDL) documents to use for registration.

  • SOAP Monitor

    A link to the WSRP SOAP monitor where users with the Monitors or Administrators role can track the SOAP messages between the consumer and producer.

After accessing the Producer Test Page, you can perform further diagnostic steps.

This section contains the following topics:

Task 1   Access the Producer Test Page

The Producer Test Page provides diagnostic information about the portlet producer.

To access the Producer Test Page:

  1. In your browser, enter the URL for the Producer Test Page:

    http://host:port/context-root/info
    
  2. In the Producer Test Page, you can perform further diagnostic steps as described in the following sections.

Task 2   Run the JSF Portlet as a Servlet

To verify that an Oracle JSF Portlet Bridge portlet producer is running correctly, you must first verify that the producer application runs correctly through standard HTTP requests. If the artifacts the producer exposes as portlets do not run as servlets, they will not run as portlets.

To run a JSF portlet as a servlet:

  1. In the Producer Test Page, click the run as servlet link next to the portlet.

  2. The portlet is called using standard HTTP to request the underlying page or task flow. The results of the request are displayed in a new browser window.

    If the resulting page or task flow does not render correctly, then there is a problem with the producer application that must be resolved before you can run the page or task flow as a portlet.

  3. If the portlet accepts parameters, click show parameters to list them and provide values. When you click run as servlet, the portlet call includes the parameter values.

Task 3   Check the Persistent Store Type

Oracle Fusion Applications has adopted a standard to use a consumer persistence store as the persistent store. Therefore, for Oracle Fusion applications producers, the Persistent Store Type displayed on the Producer Test Page should always be set to Consumer.

Although other configurations are acceptable for applications that are built to assume such a configuration, having a non-consumer setting in Oracle Fusion applications indicates an issue in the producer. For Oracle Fusion applications to work correctly, they require a consumer persistence store.

Task 4   Examine the SOAP Monitor

The SOAP monitor provides access to the SOAP requests between the consumer and producer when rendering a portlet. This is very useful in diagnosing problems at the communication level.

To examine the SOAP monitor:

  1. In the Producer Test Page, click the SOAP Monitor link at the bottom of the page.

  2. When prompted, enter your user name and password.

    Note:

    To access the SOAP monitor you must be a member of the Monitors or Administrators role in the Identity Management System. For more information, see the "Users, Groups, And Security Roles" chapter in Oracle Fusion Middleware Securing Resources Using Roles and Policies for Oracle WebLogic Server.

  3. By default, the SOAP monitor is disabled, so the page is empty. You must first enable the monitor by clicking the Enable link at the top of the page.

  4. The page does not automatically refresh, so to display SOAP messages, you must click the Refresh link.

  5. To force a request to the failing portlet, go to the Portlet Consumer Test Page: Portlet page for the portlet and select Refresh Portlet.

  6. When the portlet has rendered, or failed, click the Refresh link in the SOAP monitor to display the captured request.

    Description of portlet_soap_monitor.png follows
    Description of the illustration portlet_soap_monitor.png

  7. Now, you can investigate the SOAP messages that were sent and the responses to try to narrow down the cause of the problem.

    Note:

    If, after rerunning the portlet and refreshing the SOAP monitor, you see no messages displayed, this indicates that there may be a security issue between the producer and the consumer. You must verify that the correct WS-Security settings are set up for the producer and consumer to communicate.

11.1.6.2 Configuring the Portlet Logging File

To troubleshoot portlet issues, it is useful to add portlet log-handlers and loggers to the logging configuration file, logging.xml.

Example 11-3 shows how to add the portlet log-handlers and loggers. The example assumes that you are running the consumer and producer applications on the same WebLogic Server instance. If you are running the consumer and producer applications on different instances, you must split them up appropriately, with the Portlet Servers and Portlet Bridge log handlers and loggers on the instance running the producer application and the Portlet Consumer log handler and logger on the instance running the consumer application.

Note:

Add the log entries at the end of the file to ensure that they override any seeded settings.

Example 11-3 Configuring Log Files for Troubleshooting Portlet Issues

<!-- NOTE: You need to change the path where the logfile is located -->
<log_handlers>
...
   <!-- Portlet Consumer -->
   <log_handler name="portlet-consumer-handler" class="oracle.core.ojdl.logging.ODLHandlerFactory">
      <property name="format" value="ODL-Text"/>
      <property name="path" value="/scratch/logs/portlet-consumer.log"/>
   </log_handler>

   <!-- Portlet Producer -->
   <log_handler name="portlet-producer-handler" class="oracle.core.ojdl.logging.ODLHandlerFactory">
      <property name="format" value="ODL-Text"/>
      <property name="path" value="/scratch/logs/portlet-producer.log"/>
   </log_handler>

   <!-- Portlet Bridge -->
   <log_handler name="portlet-bridge-handler" class="oracle.core.ojdl.logging.ODLHandlerFactory">
      <property name="format" value="ODL-Text"/>
      <property name="path" value="/scratch/logs/portlet-bridge.log"/>
   </log_handler>
...
</log_handlers>

<loggers>
...
   <!-- Portlet Consumer -->
   <logger name="oracle.portlet.client" level="FINEST" useParentHandlers="false">
      <handler name="portlet-consumer-handler"/>
   </logger>

   <!-- Portlet Servers -->
   <logger name="com.bea.portlets" level="FINEST" useParentHandlers="false">
      <handler name="portlet-producer-handler"/>
   </logger>
   <logger name="com.bea.netuix" level="FINEST" useParentHandlers="false">
      <handler name="portlet-producer-handler"/>
   </logger>
   <logger name="com.bea.wsrp" level="FINEST" useParentHandlers="false">
      <handler name="portlet-producer-handler"/>
   </logger>
   <logger name="oracle.portlet.producer" level="FINEST" useParentHandlers="false">
      <handler name="portlet-producer-handler"/>
   </logger>

   <!-- Portlet Bridge -->
   <logger name="oracle.portlet.bridge" level="FINEST" useParentHandlers="false">
      <handler name="portlet-bridge-handler"/>
   </logger>
   <logger name="oracle.portlet.server.bridge" level="FINEST" useParentHandlers="false">
      <handler name="portlet-bridge-handler"/>
   </logger>
...
</loggers>

The logging configuration file is located in:

DOMAIN_HOME/config/fmwconfig/servers/server/logging.xml

The log file name is also defined in logging.xml. By default the log file name is:

DOMAIN_HOME/servers/server/logs/server-diagnostic.log

11.2 Problems and Solutions for WebCenter Portal's Composer

This section describes problems and solutions related to WebCenter Portal's Composer. This section contains the following topics:

11.2.1 Unable to Edit a Component in Composer's Edit Mode

While in Composer's Edit mode, the user is unable to edit the properties of components on the page. It is also not possible to add content or delete some components. The icons that allow these operations on Composer's toolbar are grayed out.

Problem 1

The user may not have adequate page or task flow privileges.

Solution 1

Ensure that the user is allowed to edit the page. Typically, only administrators are allowed to edit the page and end users are allowed to personalize the page. If the user is allowed to edit the page, edit or customize privileges must be provisioned for the page or the task flow if the component is inside a task flow (region).

Problem 2

An MDS customization restriction may be in place to prevent edits to the page.

Solution 2

MDS customization restrictions can be specified to restrict editing of a page, or in the case of a task flow, a page fragment. This is typically specified using an RDF file.

Ensure that customizationAllowed is set to true in the cases where the user should be allowed to edit the artifact.

For more information, see the "Applying Component-Level Restrictions by Defining Customization Policies" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

Problem 3

The id is not specified on the component that is required to be edited. Only components that have id specified can be edited.

Solution 3

It is highly recommended that all components on a page have an id specified.

Ensure that the component in question has id specified.

11.2.2 Unable to Personalize Some Components

Some components do not show icons to collapse, expand, delete, edit properties, or add content while in Composer's Edit mode.

For possible problems and solutions, see Section 11.2.1.

11.2.3 Able to Edit a Component in Composer's Edit Mode

The end user can customize components on the page or task flow that are not intended to be edited.

Problem 1

The Edit Current Page link appears in the Personalization menu for users who should not be able to edit the page.

Solution 1

In the appropriate .jspx page, set the isPersonalizableInComposer attribute to false:

<f:attribute name="isPersonalizableInComposer" value="false">

Setting this option to false prevents the Edit Current Page link displaying for non-administrator users.

Problem 2

The user does not have the appropriate permissions on the page or task flow.

Solution 2

Ensure that the user is not allowed to edit the page.

Problem 3

An MDS customization restriction may be required to prevent edits to the page.

Solution 3

MDS customization restrictions can be specified to restrict editing of a page, or in the case of a task flow, a page fragment. This is typically specified using an RDF file.

Ensure that customizationAllowed is set to false in the cases where the user should not be allowed to edit the artifact.

For more information, see the "Applying Component-Level Restrictions by Defining Customization Policies" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

11.2.4 Implicit Personalizations Do Not Stick

When the end user collapses (or expands) a task flow, the personalization does not persist and the task flow continues to show as expanded (or collapsed) on revisiting the page even after logging out and back in.

Problem 1

An MDS customization restriction is in effect for the task flow container component. This prevents the implicit personalization from being persisted into the underlying MDS store.

Solution 1

Ensure that the MDS customization restriction is removed or relaxed for the required component. In the Customization section of the Property Inspector for the component, set customizationAllowed to true.

For more information, see the "Applying Component-Level Restrictions by Defining Customization Policies" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

Problem 2

Settings under the adf-faces-config section in adf-config.xml prevent personalizations from being persisted.

Solution 2

See the "Allowing User Customization on JSF Pages" section in the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework (Oracle Fusion Applications Edition) for more information.

11.2.5 Cannot Rearrange Components on Child Components Pane

Problem

When editing a page and bringing up the Property Inspector of a container component (such as PanelFormLayout, PanelGroupLayout, PanelCustomizable, and so on), the Child Components tab does not allow the listed child component to be rearranged. The Up and Down buttons are disabled.

This problem indicates that the id is not specified on the child component that is required to be edited. Only components that have id specified can be edited.

Solution

It is highly recommended that all components on a page have an id specified.

Ensure that all the child components have id specified.

11.3 Problems and Solutions for Oracle WebCenter Portal: Spaces

This section describes problems and solutions related to WebCenter Portal: Spaces. This section contains the following topics:

11.3.1 Documents Service Is Not Available When Content Server Is Not Running

Problem

The Document service in WebCenter Portal: Spaces relies on Oracle WebCenter Content Server. If Content Server is not running when WebCenter Portal: Spaces is started up Spaces will consider the Document service as unavailable. In such cases you may see the following message on Document pages:

Documents service is not available.

Solution

Start the Content Server, and restart WebCenter Portal: Space, so it can recheck if the Document service is configured.

To resolve this problem:

  1. Shut down WebCenter Portal: Spaces. See the "Stopping WebCenter Spaces Using Fusion Middleware Control" in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

  2. Start the Content Server. See the "Starting Content Server" section in the Oracle WebCenter Content System Administrator's Guide for Content Server.

  3. Start WebCenter Portal: Spaces. See the "Starting WebCenter Spaces Using Fusion Middleware Control" in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.3.2 Workflows Do Not Work

Problem

The accept invitation functionality does not work.

Solution

For workflows to work, WS Security and Global Policy Attachment (GPA) should be configured on the client and server side. Local Policy Attachment (LPA) should be removed on the client side.

To resolve this problem:

  1. Ensure that JVM is started with the following parameter in the setDomainEnv.sh file:

    -Dwebcenter.owsm.gpa.enabled=true
    
  2. Remove LPA on the client side.

  3. GPA should be configured on the client and server side. If GPA is configured correctly, the following policies are expected:

    • Policy on server side: oracle/wss_saml_or_username_token_service_policy

    • Policy on client side: oracle/wss10_saml_token_client_policy

11.3.3 List of Spaces Does Not Show Any Spaces

Problem 1

The WebCenter Portal: Spaces instance may be down.

Solution 1

To check whether the WebCenter Portal: Spaces instance is up and running, go to:

protocol://webcenter-host:webcenter-port/webcenter

Also, check that the instance allows users to login.

Problem 2

The list of spaces displays only those spaces that the currently logged in user has created or to which the user has membership. If the user has not created any spaces and is not a member of any spaces the list is empty.

Solution 2

If the user creates a space or is assigned membership to a space, the list of spaces will no longer be empty.

Problem 3

If the WebCenter Portal: Spaces instance is up and running and the user is a member of one or more spaces, the problem could be that GPA is not enabled or LPA has not been removed on the client side.

Solution 3

See the solution for Section 11.3.2.

11.3.4 Creating a Space Throws an Error or Warning

Problem 1

The WebCenter Portal: Spaces instance may be down.

Solution 1

To check whether the WebCenter Portal: Spaces instance is up and running, go to:

protocol://webcenter-host:webcenter-port/webcenter

Also, check that the instance allows users to login.

Problem 2

The user does not have the appropriate permission to create a space.

Solution 2

Login to WebCenter Portal: Spaces as an administrator and verify that user has the appropriate permission (Spaces-Create) to create spaces.

For more information see the "Managing Application Roles and Permissions" chapter in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

Problem 3

One or more services are not provisioned. This can happen because the service's back-end server, such as Oracle WebCenter Content or WebCenter Portal's Discussion Server, are slow. If this is the case you will find an InterruptedException in the logs or a timeout from the concurrency service.

Solution 3

The adf-config.xml file in webcenter.ear has a timeout duration for each service in WebCenter Portal. This can be increased.

For example, out of the box the timeout is set as follows:

<resource service="oracle.webcenter.collab.forum" resource="oracle.webcenter.collab.forum" timeoutMinPeriod="2s" timeoutMaxPeriod="10s" timeoutDefaultPeriod="5s"/>

You can change this to:

<resource service="oracle.webcenter.collab.forum" resource="oracle.webcenter.collab.forum" timeoutMinPeriod="25s" timeoutMaxPeriod="30s" timeoutDefaultPeriod="30s"/>

After making changes to the adf-config.xml file, you must redeploy the webcenter.ear file.

Note:

There is no WLST command to set this value, you must update it manually.

Problem 4

If you are using a socket connection to Oracle WebCenter Content, the IP address for the WC_Spaces server must be authorized to connect to Oracle WebCenter Content. If this is not the case, the logs contain a ConnectionRefused exception.

Solution 4

Authorize the IP address for the WC_Spaces server to connect to Oracle WebCenter Content. For more information, refer to the "Configuring Content Server Options" in the Oracle WebCenter Content System Administrator's Guide for Content Server.

Problem 5

The feature versions in Oracle WebCenter Content are not those expected by WebCenter Portal: Spaces.

Solution 5

Check for the following feature versions in Oracle WebCenter Content:

  • ExtendedUserAttributes: 1.1.1.30

  • JpsUserProvider: 1.0.0.7

  • WebCenterWorkflows: 11.1.1.4.0

You can check these versions in Oracle WebCenter Content by going to Administration > Configuration for instanceName > Feature Details.

If the versions are not correct, there may have been a problem during installation or configuration. Refer to the installation and administration guides.

11.4 Problems and Solutions for Activity Stream

This section describes problems and solutions related to Activity Stream. This section contains the following topics:

11.4.1 Business Object Activities Do Not Appear for Some Users

Problem

User cannot see the business activities in the activity stream view.

Solution

To see business activities, the user must have permission to access the business object and must be following the business object.

To resolve this problem:

  1. Verify the access permission and ensure that the user can access the business object.

  2. Verify that the user is following the business object.

11.4.2 Business Object Activities Cannot Be Published

Problem

Business object activities such as creating or updating the object are not displayed for users who are following a business object that they have permission to access.

Solution

To resolve this problem, enable the publish capability for the service category of the business object:

  1. Go to the FNDSetUp page.

  2. Navigate to the Activity Stream administration page.

  3. Find the service category for the appropriate business objects and enable publish capability.

11.4.3 New Activities Do Not Appear for Some Users

Problem

Users can see only activities posted before a particular time. Activities posted after this time cannot be accessed regardless of whether those activities are posted by the user or other users.

Solution

Typically, this happens when the user GUID is changed and the WC_AS_ACTOR_DETAIL table cached the old GUID. For example, if the application points to one LDAP server and is then switched to another.

To resolve this problem:

  1. Use SQL Developer to access the WebCenter Portal schema to which the Oracle Fusion application points.

  2. Open the table WC_AS_ACTOR_DETAIL.

  3. Find the row that matches the user and remove it.

11.4.4 Rendering of the Activity Stream View Is Very Slow

Problem

The rendering of the Activity Stream task flow is slow with users experiencing significant delays.

The Activity Stream captures large amount of data over time. Displaying all this data may cause the rendering of the task flow to take some time.

Solution

Displaying activities from several months ago may not be necessary. If the rendering of the Activity Stream flow is slow and it is displaying data that is old, you can archive activity stream data to reduce the amount of data displayed and therefore reduce the amount of time taken to render the task flow.

You can use WLST commands to archive activity stream data. For more information, see the "Activity Stream" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.4.5 Cannot See Activities from Some Spaces

Problem

Users cannot see activities from some spaces. This could be because the activities from those spaces are hidden.

Solution

To resolve this problem, you must show the spaces:

  1. Go to the activity stream view.

  2. Click the Options link.

  3. Click the Spaces tab to show the spaces with hidden activities.

  4. Next to the space whose activities you want to show, click Show.

11.5 Problems and Solutions for Search in WebCenter Portal

This section describes problems and solutions related to search in WebCenter Portal. This section contains the following topics:

11.5.1 No Search Results Found

Problem

The Oracle Secure Enterprise Search (SES) connection is not created correctly. The search query is not submitted to Oracle SES.

Solution

Confirm the Oracle SES connection by entering the URL for Oracle SES Web Services operations in a browser:

http://host:port/search/query/

If the URL address does not render in the browser, then either the host or port for the Oracle SES server is incorrect, or Oracle SES has not been started.

If the Oracle SES connection is correct, review the remaining topics in this section for other possible causes.

11.5.2 Search Results Do Not Include Secured Resources

Problem 1

One possible cause is that the proxy login of WebCenter Portal users failed in Oracle SES.

An Oracle SES proxy login error in the WebCenter Portal diagnostic log looks similar to the following:

Received status "failed" during proxy login with application entity "weblogic" to
Oracle SES at http://host:port/search/query/OracleSearch, as search user
"vicki". Defaulting to public.

Solution 1

Confirm that Oracle SES is configured with an identity management system to validate and authenticate users.

Also confirm that WebCenter Portal and Oracle SES use the same identity management system, such as Oracle Internet Directory. All repositories (such as WebCenter Portal: Spaces, WebCenter Portal Content: Content Server, and Oracle WebCenter Portal Discussions Server) must share the same user base as Oracle SES.

For more information, see the "Configuring the Identity Store" chapter of the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal and the "Setting up Identity Management System" section of the Oracle Secure Enterprise Search Administrator's Guide at:

http://docs.oracle.com/cd/E14507_01/index.htm

Additionally, each Oracle SES instance must have a trusted entity for allowing WebCenter Portal end users to be securely propagated at search time.

Problem 2

Another possible cause is that authorization endpoints are not configured correctly.

Locate the search log file on the Oracle SES instance. Look for phrases including the URL value. For example:

EQP-80309: Exception while opening a stream to the URI: http://host:port/sesUserAuth?userId=end-user-name

QueryFilterPlugin returned null or empty array value for security attribute "WCSECATTR". Values required for all security attributes.

Solution 2

To resolve this problem:

  1. In the Oracle SES administration tool, go to the Home - Sources tab.

  2. Click the Edit icon for the source to see source configuration tabs.

  3. Click the Authorization tab to confirm the authorization connection string, user name, password, and authorization user ID format. For more information see the "Configuring Oracle SES to Search Framework Applications" or "Configuring Oracle SES to Search Spaces Applications" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

Problem 3

A third possible cause is that authorization endpoints are not returning authorization data.

Locate the search log file on the Oracle SES instance. Look for phrases including the URL value. For example:

A security filter authorization timeout for dsid = # occurred after 10000 milliseconds.

Solution 3

Each WebCenter Portal instance has up to four crawl sources. If an Oracle SES instance is used for more than one WebCenter Portal instance, then the number of crawl sources could potentially get quite high and cause timeout issues. This problem can also occur if the Oracle SES instance has other crawl sources for other uses.

The solution is to reduce the number of crawl sources.

11.5.3 Search Results Do Not Include Documents

Problem

Crawling of WebCenter Portal Content Server documents fails.

Solution

To resolve this problem:

  1. In the Oracle SES administration tool, go to the Home - Schedules tab.

  2. Click the Log File icon to display the log file for the source. To obtain the location of the full log, click the Status link.

  3. The Crawler Progress Summary and Log Files by Source section displays the full path to the log file. If Oracle SES fails to log in to the Content Server crawl endpoint due to an authentication error, then the following errors are logged:

    EQP-60303: Exiting saxthread due to errors
    
    EQP-80330: Unrecognized QName <http://schemas.xmlsoap.org/soap/envelope/>:Envelope oracle.search.sdk.crawler.PluginException
    
  4. Update the configuration parameters of the Content Server crawl source with the correct credentials.

11.5.4 Search Results Do Not Include Discussions and Announcements

Problem 1

In the crawl source, the Single Record Query parameter is set to true on the Authorization tab.

Solution 1

Set the Single Record Query parameter to false.

Problem 2

The identity management system uses a mixed case user name, but the Oracle WebCenter Portal Discussions Server database uses an all lowercase user name.

Solution 2

The authorization query for the crawl source must apply the LOWER() function to user name parameters.

Using the Oracle SES administration tool, confirm that the Authorization Query for the crawl source definition looks like the following:

SELECT forumID as WCSECATTR FROM AUTHCRAWLER_FORUM_VW WHERE LOWER(username) = LOWER(?) UNION SELECT DISTINCT -1 as WCSECATTR FROM AUTHCRAWLER_FORUM_VW

11.5.5 Search Results Do Not Include Recently Added Resources

Problem

A new resource was created recently, but search results do not include the new resource.

Solution

New resources must be crawled and indexed before they can be returned in search results. Crawl schedules are run periodically to index new content. If new resources are created often, then increase the frequency of the crawl schedule. If new resources need to be crawled immediately, then start the crawl schedule manually.

11.5.6 Search Results Do Not Reflect Authorization Changes

Problem

Some resources are accessible to more users due to authorization changes in WebCenter Portal. For example, resources in a space are now accessible to all authenticated users. The affected users cannot search for those resources.

Solution

Authorization data is cached in Oracle SES. The cache is invalidated according to the Security Filter Lifespan global setting in Oracle SES. The default value is 1 day or 1440 minutes. Adjust the value according to the general frequency of changes to authorization data.

11.5.7 Search Results Do Not Include Resources Available to Wide Audience

Problem

A space is publicly accessible, but unauthenticated users cannot see space resources in search results.

Solution

By default, view access of resources is granted to space members only, even if the space is accessible to the public. View access of resources must be granted to non-members explicitly.

In WebCenter Portal: Spaces, go to Spaces Administration, click the Security then Roles tabs, and for the affected role, check the view access to the different resources.

For more information see the "Managing Application Roles and Permissions" chapter in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

11.6 Problems and Solutions for the Tags Service

This section describes problems and solutions related to the Tags service. This section contains the following topics:

11.6.1 Tag Center Results Do Not Appear When Tag Is Clicked

Problem

A resource to which a user has view permission has been tagged, but the user cannot see the resource in the Tag Center.

Solution

To resolve this problem:

  1. In service-definition.xml, verify that the resource type has the Resource Authorizer configured properly. For more information, see the "Creating a Resource Authorizer Class" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

  2. Enable logging for the Resource Authorizer to ensure that it is giving you permission to see the required objects.

11.6.2 Tagging Button Does Not Display on Page

Problem

The Tagging Button component is dropped on a page, but it does not show up.

Solution

To resolve this problem:

  1. The Tagging Button component requires that the Tagging Dialog task flow be present on the page. Drop this task flow on the page or page template.

  2. The Tags service requires a database connection to the WebCenter Portal repository (a database with the WebCenter Portal schema (WEBCENTER) installed). Ensure that there is a database connection present. For more information, see the "Setting Up Database Connections" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.6.3 Clicking a Tagged Resource Does Not Go to the Correct Page

Problem

When clicking a tagged resource in the Tag Center, the user is not redirected to the correct page.

Solution

All tagging links are generated through the Resource Action Handling (RAH) framework. Ensure that RAH is configured properly.

  1. Check service-definition.xml for the resource type to see if a resource viewer is configured properly. For more information, see the "Creating a Resource Authorizer Class" section in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal (Oracle Fusion Applications Edition).

  2. Check the source code for the Tagging Button that created the tagged resource to ensure that the Tagging Button definition uses the correct resourceID and serviceID.

11.7 Problems and Solutions for the Instant Messaging and Presence Service

This section describes problems and solutions related to the Instant Messaging and Presence service. This section contains the following topics:

11.7.1 Presence Icon Not Seen In WebCenter Portal Applications

Problem

User does not see the Presence icon in front of a user name.

Solution

Ensure that an Instant Messaging and Presence connection exists and has been set as active.

For more information, see the "Registering Instant Messaging and Presence Servers" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

11.7.2 Presence Icon Always Shows User as Offline

Problem

Presence icon always shows user as offline.

Solution

To resolve this problem:

  1. Ensure that you have configured the Instant Messaging and Presence connections properly and have provided the correct values.

    For more information, see the "Registering Instant Messaging and Presence Servers" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

  2. Ensure that the back-end presence server is up and running. A quick way to verify this is to check that you can connect to the presence server using a supported thick client (for example, Microsoft Communicators for LCS/OCS).

  3. If you are able to connect to the presence server using the thick client, then ensure that the web-services for the presence servers are installed properly and are up and running.

    For more information, see the "Instant Messaging and Presence Server Prerequisites" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

  4. Ensure that you are logged in as a valid user and that the user exists on the presence server. For more information, refer to the documentation for the back-end presence server.

  5. Ensure that the user whose presence you cannot see exists on the back-end presence server. For more information, refer to the documentation for the back-end presence server.

  6. Ensure that the user whose presence you cannot see is online on the presence server. If the user is your buddy, you can do that by logging in to the supported thick client with your account.

  7. Ensure that the user's IM address, specified in the External Application Connection (Account field) or User Preferences, is valid.

11.7.3 Presence Icon in Framework Applications Always Shows User as Offline

Problem

Presence icon in Framework applications always shows user as offline.

Solution

To resolve this problem, see the solution for Section 11.7.2.

If this does not resolve the problem, ensure that the page you have created has the presenceData component on it. Also the presenceData component should be after all the presence tags on the page. The recommendation is that the presenceData tag should be the last tag on the page before the closing </af:document> tag.

11.7.4 Presence Updates Not Seen

Problem

Presence updates are not seen in WebCenter Portal applications.

Solution

The Instant Messaging and Presence service holds a presence cache for each logged in user's session. This means that after the service makes a back-end trip to the presence server to fetch the latest presence information, the presence information is stored in the cache. For the following requests for presence, the data is returned from the cache until the cache expires. The default cache expiry time is 60 seconds. In the case where users are not seeing the presence update, it is recommended that you wait for the cache to expire and then refresh. You can change the cache expiry time by using the setIMPServiceProperty WLST command to set the rtc.cache.time configuration property to the desired value (in seconds). For more information, see the "setIMPServiceProperty" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.7.5 Issues with Context Menu Options

Problem 1

The Send Instant Message option is not available in the context menu.

Solution 1

Some contextual actions do not apply to self presence . If you are invoking contextual actions from self presence, then the Send Instant Message action is hidden. Select a different user.

If you are accessing the context menu from another user's presence tag, ensure that the Instant Messaging and Presence service is configured correctly in the application.

Problem 2

The Send Mail option is not available in the context menu.

Solution 2

Ensure that the Mail service is configured correctly in the application.

Problem 3

The View Profile option is not available in the context menu.

Solution 3

Ensure that the application is secure as the View Profile contextual action is enabled only for authenticated users.

Problem 4

The Change Ext App Credential option is not available in the context menu.

Solution 4

To resolve this problem, consider the following:

  • The Change Ext App Credential option is available only when an external application is configured with the active Instant Messaging and Presence connection.

  • The Change Ext App Credential option is available only for the self presence tag.

  • The Change Ext App Credential option is not available when shared or public credentials are configured in the external application.

11.7.6 Chat Toolbox Not Available

Problem

The Chat Toolbox is not available.

Solution

The Chat Toolbox is available only if the default Instant Messaging and Presence connection is set to Beehive. Set a Beehive connection as the default Instant Messaging and Presence connection.

11.7.7 Online User Is Offline in Chat Toolbox

Problem

Users see themselves as offline in the Chat Toolbox

Solution

To resolve this problem, consider the following:

  • The user could be offline because the last published presence status was offline or because of stale presence data lingering in the cache. Publish the presence to online from the Chat Toolbox.

  • Ensure that the correct Beehive URL is supplied in the Instant Messaging and Presence connection.

  • The Beehive server could be timing out. Bounce the Beehive server or increase the connection timeout in the Instant Messaging and Presence connection.

11.7.8 User Does Not See Connections In Chat Toolbox

Problem

Users do not see their connections in the Chat Toolbox

Solution

To resolve this problem, consider the following:

  • The user could be offline in the Chat Toolbox. Turn the user online by publishing the presence from the Chat Toolbox.

  • The connections could be offline. Users should select the Show Offline Connections checkbox from the Chat Toolbox to see offline connections.

  • Ensure that the correct Beehive URL is supplied in the Instant Messaging and Presence connection.

  • The Beehive server could be timing out. Bounce the Beehive server or increase the connection timeout in the Instant Messaging and Presence connection.

  • The connections might not be seen due to stale data in browser cache. Clear the browser cache and refresh the page.

11.7.9 User Is Shown as Offline In Other Users' Connections Lists

Problem

User is shown as offline in other users' connection lists.

Solution

This could be due to stale data in the cache. Republish the online presence from the Chat Toolbox.

11.7.10 Chat Tab Does Not Clear Messages When Closed and Reopened

Problem

The Chat tab does not clear messages when closed and reopened.

Solution

Use the Clear Chat option to clear the Chat tab contents.

11.7.11 User Is Not Seen as Offline After Logging Out

Problem

Users are not shown as offline even when they have logged out

Solution

This could be because the browser session was closed without logging out or the logout did not disconnect the user. The offline status will be shown after a timeout of 4 minutes.

11.7.12 Invitation Flag Does Not Reflect Correct Invitation Count

Problem

The invitation flag does not reflect the correct invitation count.

Solution

The invitation count is not updated automatically. The user must perform a partial page refresh operation or a full page refresh to see the new invitation count.

11.8 Problems and Solutions for the Discussions Service

This section describes problems and solutions related to the Discussions service. This section contains the following topics:

11.8.1 User Is Not Authorized / Service Not Configured

Problem

Navigating to a page containing the forums or announcements regions shows User xxxx is not authorized or Service not configured.

Solution

Ensure that the environment is configured properly:

  • Check whether the discussions server is up and running by accessing the following URL:

    protocol://host:port/owc_discussions
    
  • Verify that the user is able to log in to the discussions server directly. If the user is unable to log in, then execute the WLST commands shown in Table 11-2 (adding server and node information as per your environment) to ensure that the environment is properly configured by comparing them with the expected values.

    Table 11-2 WLST Commands for Discussions Server Configuration

    WLST Command Expected Value
    getDiscussionsServerProperty(appName='owc_discussions', key='AuthFactory.className')
    
    oracle.jive.security.JpsAuthFactory
    
    getDiscussionsServerProperty(appName='owc_discussions', key='UserManager.className') 
    
    oracle.jive.security.JpsUserManager 
    
    getDiscussionsServerProperty(appName='owc_discussions', key='GroupManager.className') 
    
    oracle.jive.security.JpsGroupManager
    
    getDiscussionsServerProperty(appName='owc_discussions', key='owc_discussions.setup.complete_11.1.1.2.0')
    
    true 
    
    getDiscussionsServerProperty(appName='owc_discussions', key='owc_discussions.sso.mode')
    
    true
    

  • Verify that the discussions connection has been configured to use GPA. Execute the following WLST command to find out details about the connection and look for the highlighted entries.

    wlst:/> listDiscussionForumConnections(appName='webcenter', verbose=1)
    ...
    Policy URI For Authenticated Access: GPA
    Policy URI For Public Access: GPA
    

11.8.2 User Is Not Authorized Message for Member of a Group that Has Access

Problem

User has been added to a group which has access to a particular forum, yet in WebCenter Portal: Spaces the user is unable to view the content.

Solution

This normally happens because of a mismatch of the user groups on the discussions server. The user-group cache on the discussions server is refreshed once every 6 hours.

To resolve this issue consider the following options:

  • Clear the cache.

    1. Log in to the discussions server administration console.

    2. Navigate to Cache Settings.

    3. Click Clear Cache.

  • Change the cache size. When the cache reaches the cache size limit, the least recently used objects are pushed out of it.

    1. Log in to the discussions server administration console.

    2. Navigate to Cache Settings.

    3. Click Edit Caches.

    4. Change the Group Membership cache size to the desired value, in MB, for example, 0.01. If you set this value too low, then the server may end up accessing the back-end identity management system on every request, which may result in performance issues.

    5. Save the new setting.

  • Change the frequency of the cache refresh. This requires a restart of the application server.

    1. Edit the jive_startup.xml file to change the maxLifeTime value for GroupMembership to the desired value (in milliseconds).

    2. Save the changes and restart the server.

11.8.3 Unable to Log In to the Discussions Administration Console

Problem

A previously working user ID is no longer able to log in to the discussions server administration console.

Solution

This can happen if the administrator accidentally deletes the group that has administration access. To resolve this problem, execute the WLST command, addDiscussionsServerAdmin, to regain access. For more information, see the "addDiscussionsServerAdmin" section in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

11.8.4 SOAP Fault Exceptions Seen in Announcements Region

Problem

The announcement region displays a SOAP fault exception instead of the announcements.

Solution

  • Verify that the discussions connection has been configured to use GPA. Execute the following WLST command to find out details about the connection and look for the highlighted entries:

    wlst:/> listDiscussionForumConnections(appName='webcenter', verbose=1)
    ...
    Policy URI For Authenticated Access: GPA
    Policy URI For Public Access: GPA
    
  • Check that your wsm-pm application's configuration is correct and that there are no errors being reported in your log files. To validate the wsm-pm application, log in to the wsm-pm application's validation page as a user with administrative rights. Use the following format for validation:

    http://host:port/wsm-pm/validator
    

    If there are no issues with this application, then accessible policies display. If policies do not display, then investigate the related logged information on the server whose wsm-pm application is failing.

11.8.5 Discussions Server Displays a Form-Based Login Instead of SSO Login Screen

Problem

Clicking login or accessing the discussions server administration console displays a form-based login instead of the configured SSO login screen.

Solution

Verify that your discussion server settings are as described in Table 11-2, specifically that the owc_discussions.sso.mode property is set to true.

11.8.6 Service Not Provisioned During Space Creation

Problem

Creating a space returns the following warning:

Announcement, Discussions not provisioned

Solution

To resolve this problem:

  1. Verify that the discussions server is configured properly as described in Section 11.8.1.

  2. Verify that your discussions server connection is correctly configured. You can check on the connection information using Fusion Applications Control.

  3. Check the WC_Spaces-diagnostic.log files to see if there are any timeouts during space creation. Timeouts indicate that there is a bottleneck in the network. It could be that the server is unreachable or overloaded and taking more time to respond. Ensure that you are not routing the calls unnecessarily over the network when a direct access would be better.

You can also go to Space administration settings, and provision the services manually. For more information, see the "Enabling and Disabling Services Available to a Space" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

11.9 Problems and Solutions for the Documents Service

This section describes problems and solutions related to Documents service. This section contains the following topics:

11.9.1 Documents Service Unavailable

Problem

After configuring WebCenter Portal: Spaces to have a active connection to a Content Repository connection (Oracle WebCenter Content: Content Server) and bouncing WebCenter Portal: Spaces, the Documents service does not appear to be available in Spaces. For example, in the Home space or a space there are no documents available.

Solution

The cause of the issue is likely to be in the Content Repository connection settings or that the WebCenter Portal data was not successfully seeded into the Content Server.

To resolve this problem:

  1. Check that the Content Server is up and running. Ensure the server has the Server Port (intradoc) configured and the Server IP Filter allows connection from WebCenter Portal: Spaces:

    1. Log in to the Content Server.

    2. Click Administration.

    3. Click Configuration for instance name.

    4. Click the Server Configurations link under System Configuration.

    5. Ensure that Server Port is listed and that Server IP Filter allows access from WebCenter Portal: Spaces.

  2. Check the Content Repository Connection settings are correct for the Content Server being used for the Document store:

    1. Using either WLST or Fusion Applications Control display the Content Repository Connection settings.

    2. Ensure that the connection for the Content Server is marked as the Active Connection or Primary Connection.

    3. Ensure that the settings for the Content Server are correct.

    4. Ensure that the Content Administrator, Root Folder and Application Name have been specified:

      • The Content Administrator must have administration rights in the Content Server. This user will be used to create and maintain folders for spaces content, security groups and roles, and manage content access rights.

      • The Root Folder and Application Name must be unique and not used by any other WebCenter Portal: Spaces application using the same Content Server. If you change these values, ensure that both values are changed and not just one of them.

      • It is recommended the Application Name is less than 14 characters as it is used as a prefix for items created in Content Server, such as workflows, which have a limit on the length of the item name.

  3. Check the log at the time of the WebCenter Portal: Spaces start-up for any errors connecting to the Content Server or seeding the data in the Content Server:

    1. When WebCenter Portal: Spaces has an active or primary Content Repository connection and the Content Administrator, Root Folder and Application Name have been specified, then when the WebCenter Portal: Spaces server starts up, data is seeded in the Content Server for that application (if it does not already exist).

    2. If both 1 and 2 are correct, check the WebCenter Portal: Spaces log for any errors when WebCenter Portal: Spaces starts up. There may be errors when seeding the data in the Content Server.

    3. If the log does not show any useful log information, turn up the logging for the Documents server and bounce WebCenter Portal: Spaces to see the log messages regarding seeding the WebCenter Portal: Spaces seed data:

      1. Either use Fusion Applications Control or edit the logging.xml file to increase the logging for oracle.webcenter.doclib.internal.model and oracle.webcenter.doclib.internal.spaces.

      2. Restart WebCenter Portal: Spaces.

      3. View the log for any messages regarding the seeding of the WebCenter Portal: Spaces data.

      4. If the data is seeded correctly there should be a message logged at TRACE level similar to the following:

        Content Server already contains the Space container, therefore no need to seed any data
        
      5. If the seed data does not already exist, there should be a message logged at TRACE level similar to the following:

        Creating WebCenter Seeded Data
        

11.9.2 Granting Permissions Errors in Documents When Creating a Space

Problem

On creating a space based on a template with the Documents service, the space creation fails with an error such as the following:

Granting permissions for Documents failed

Solution

View the WebCenter Portal: Spaces log to see if there are any log messages indicating the source of the error.

If it is not clear what the cause of the error is, try resetting all the Document permissions for all the roles to see if the role mapping completes successfully. Any failures should be logged in the WebCenter Portal: Spaces log.

For information about how to reset the permissions, see Section 11.9.3.

11.9.3 User Appears to Not Have the Correct Capabilities in the Documents Page for His Role

Problem

When a user does not have the expected capabilities in the Documents page for his or her role, (for example the user is a Participant who has Write and Delete yet he or she cannot create content) it is possible that the permissions displayed in WebCenter Portal: Spaces do not match those permissions actually stored in the Content Server.

Solution 1

If the problem affects a single user, reset the user's role by performing the following steps:

  1. Log in to WebCenter Portal: Spaces.

  2. Navigate to the space.

  3. Navigate to the Space administration settings.

  4. Click the Members tab.

  5. Select the affected user.

  6. Click Change Role.

  7. Select a different role and click OK.

  8. Click Change Role again.

  9. Select the original role and click OK.

Solution 2

If the problem affects multiple users, resynchronize the permissions from WebCenter Portal: Spaces to WebCenter Portal Content by performing the following steps:

  1. Log in to WebCenter Portal: Spaces.

  2. Navigate to the Space administration settings.

  3. Click the Roles tab.

  4. For each role:

    1. Select the role and click Edit Permissions.

    2. Deselect all the permissions and click Save.

    3. Click Edit Permissions again and select the desired permissions.

    4. Click Save.

  5. For the seeded roles the recommended permissions are:

    • Moderator: Read, Write, Delete, Admin

    • Participant: Read, Write, Delete

    • Viewer: Read

11.9.4 Documents Connection Not Working after Switching to Global Policy Attachment

Problem

A Documents connection that was used with Local Policies fails to behave correctly when repurposed for GPA use.

Solution

To resolve this problem:

  1. Examine the Documents connection properties using Fusion Applications Control or WLST. For more information, see the "Modifying Content Repository Connection Details" section in the Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter Portal.

  2. Verify that the client security policy is not set.

  3. If it is set, clear the value. For example, using WLST:

    setJCRContentServerConnection(
      [application name],
      [connection name],
      clientSecurityPolicy=null);