B Troubleshooting Portlets and Providers

This appendix describes common problems that you might encounter when using Oracle Portal and explains how to solve them. It contains the following topics:

Note:

Throughout this chapter, you will see references to ORACLE_HOME. ORACLE_HOME represents the full path of the Oracle home, and is used in cases where it is easy to determine which Oracle home is referenced. The following conventions are used in procedures where it is necessary to distinguish between the middle tier, OracleAS Infrastructure, or Oracle Metadata Repository Oracle home:
  • MW_HOME, represents the full path of the Oracle Fusion Middleware home.

  • ORACLE_HOME, represents the full path of the middle-tier Oracle home.

  • ORACLE_INSTANCE, represents the full path of the instance home associated with ORACLE_HOME.

  • INFRA_ORACLE_HOME, represents the full path of the Oracle Application Server Infrastructure Oracle home.

  • METADATA_REP_ORACLE_HOME, represents the full path of the Oracle Infrastructure home containing the Oracle Metadata Repository.

B.1 Diagnosing General Portlet Problems

This section describes common problems and solutions for all portlets. It contains the following topic:

B.1.1 Portlet Refresh Failure

When using the JavaScript document.write() method in conjunction with a Mozilla browser, you may find that portlet refresh does not work.

Problem

When using a Mozilla browser, such as Firefox, the document.write() method causes portlet refresh to no longer work as expected.

Solution

Avoid using document.write() in your output if you also want portlet refresh to work on Firefox. If this is not possible, you can choose to have the portlet not display the Refresh and Restore icons during rendering. You can also turn off portlet refresh and restore at the region level.

B.1.2 HTML Tags Appearing in Portlet

After upgrading from an earlier release to 11g Release 1 (11.1.1), you may find unformatted HTML appearing in your portlets, for example, in the portlet title.

Problem

When viewing a portlet, you see raw HTML. For example, you might see the following in a portlet title:

<b>Oracle Application Server 10<i>g</i> Collateral</b>

when what you expected to see was:

Oracle Application Server 10g Collateral

To protect against cross site scripting (XSS) attacks, Oracle Portal Release 10.1.4 escapes all user input by default. Thus, some HTML that was formatted in earlier releases now appears unformatted because it has been escaped to plain text.

Solution

You can resolve this issue in one of the following two ways:

  • Tell your users to stop entering HTML tags as part of their input and have them enter only plain text.

  • Turn on compatibility mode to make your Oracle Portal instance behave the way it did in releases prior to Release 10.1.4, that is, stop the default escaping of HTML to plain text. Note that turning on compatibility mode makes your portal instance less secure.

For more information on these options, refer to Oracle Fusion Middleware Upgrade Guide for Oracle Portal, Forms, Reports, and Discoverer.

B.2 Diagnosing Java Portlet Problems

This section describes common problems and solutions for Java portlets. It contains the following topics:

B.2.1 Portlet Logging

In addition to specific issues listed in the other sections of this appendix, the following general techniques can help you to troubleshoot portlet problems.

Problem 1

When accessing a portal page, the portlet does not display or displays an error message.

Solution 1

Check the diagnostic log file look for errors.

For Oracle Portal:

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs\WLS_PORTAL-diagnostic.log

For a custom Web provider:

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs\WLS_PORTAL-diagnostic.log

Problem 2

Pertinent information that may help solve the problem is not being recorded in the log file.

Solution 2

Increase the provider's log level to produce more detailed logging information by adding the following entry to the web.xml file:

<env-entry>
  <env-entry-name>oracle/portal/provider/global/log/logLevel</env-entry-name>
  <env-entry-value>6</env-entry-value>
  <env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>

B.2.2 Installation and Deployment Problems

This section describes problems that you may encounter when installing and deploying the PDK-Java framework and samples.

B.2.2.1 Cannot Find a Java Class Object

You receive an error message about a Java class that does not exist. For example:

An unexpected error occurred-29540 : class
  oracle/webdb/provider/web/HttpProviderDispatcher does not exist (WWC-43000)

Problem

The referenced Java class object is not in the database or it is invalid. Oracle Portal, not PDK-Java, generates the error message when it cannot execute the class.

Solution

Log in to the database as your main Oracle Portal schema. Execute a SELECT statement to verify that the object is in the schema. For example:

SELECT object_name, object_type, status FROM user_objects 
  WHERE object_name like '%HttpProvider%'

Note that the name between quotes is case sensitive.

You should receive the following back:

/3334f18_HttpProviderDispatcher

Check for invalid or missing JAVA CLASS objects. Something could be wrong with the Oracle Portal installation. If so, then recompiling invalid objects might help resolve it.

B.2.2.2 Cannot Deploy the template.ear File

You receive the following error message when deploying your EAR file based on template.ear:

Invalid J2EE application file specified - Base Exception:
Cannot get xml document by parsing WEB-INF/web.xml in template.war: <Line 88, 
Column 14> : '--' is not allowed in comments.
Resolution: 

Problem

The web.xml file contains a syntax error.

Solution

Verify that the syntax of web.xml is correct. Some versions of web.xml shipped in template.war have a misplaced comment tag. Make sure that all opening comment tags, <!--, have a matching closing tag, -->, before starting a new comment tag.

B.2.2.3 Error When Attempting to Register Provider

A number of errors may occur when you attempt to register your provider. This section explains what can go wrong and how you can correct it. If your scenario is not covered in this section, then check the application.log of your provider or, if that does not help, use logcfg.sql for Portal Repository logging. For more information logcfg.sql and application.log, refer to the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

Problem 1

You receive the following error message:

Internal error (WWC-00006)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)

When OracleAS Portal attempts to register your provider, it must contact the listener that serves your Web portlets. If you have already accessed the provider's test page, http://host.domain:port/context/providers/servicename, according to the installation instructions, Oracle Portal may not recognize your machine.

Solution 1

Make sure the machine where Oracle Portal resides can access your Web provider listener. The easiest way to test this setup is to start a browser on the host of the Oracle Portal repository database and try to access the provider's test page. If the browser needs a proxy setting to reach the provider, then you should set the same proxy for Oracle Portal on the Administer tab. You should also use this proxy when registering the provider.

If your Web provider server is not part of the DNS, then add an entry in the Oracle Portal server's host file.

If a firewall exists between the machine with the Oracle Portal database and the machine with the provider, then make sure that the necessary port is open.

Problem 2

You receive the following error:

Internal error (WWC-00006)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)
The following error occurred during the call to Web provider: Can't read
deployment properties for service: _default (WWC-43147)

When you register a provider, you have the option of specifying a Service Id. If you do not specify anything in the Service Id field, the registration URL will not contain the service name part, http://host.domain:port/context/providers/. Therefore, Oracle Portal is looking for a default service, which is stored in a deployment file called _default.properties. When this file is not found, you receive this error.

Solution 2

Make sure that you bundle a file called _default.properties into your WAR file with the following path:

/Web-inf/deployment/

The _default.properties file should define the default service to use when none is specified for the provider. The file should look similar to the following:

serviceClass=oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter
loaderClass=oracle.portal.provider.v2.http.DefaultProviderLoader
showTestPage=true
definition=providers/test/provider.xml
autoReload=true
testPageURI=/htdocs/testpage/TestPage.jsp

Problem 3

You receive the following error message:

Internal error (WWC-00006)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)
The following error occurred during the call to Web provider: Can't read
deployment properties for service: test (WWC-43147)

Oracle Portal cannot find the deployment properties file for the service you specified in the Service Id field or the service name part of the registration URL, http://host.domain:port/context/providers/servicename. For example, suppose you received this error in response to your attempt to register your provider with the following URL:

http://host.domain:port/context/providers/test

In this case, you probably do not have a file called test.properties in your WAR file in /Web-inf/deployment/.

Solution 3

Make sure that you bundle a deployment properties file (for example, test.properties) into your WAR file with the following path:

/Web-inf/deployment/

The file should look similar to the following:

serviceClass=oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter
loaderClass=oracle.portal.provider.v2.http.DefaultProviderLoader
showTestPage=true
definition=providers/test/provider.xml
autoReload=true
testPageURI=/htdocs/testpage/TestPage.jsp

Problem 4

You receive the following error message:

An error occurred when attempting to call the providers register function.
(WWC-43134)
The provider URL specified may be wrong or the provider is not running.
(WWC-43176)
The following error occurred during the call to Web provider: Class
oracle.portal.provider.v2.render.RenderManager has no set or add method for tag
"createdOn" (WWC-43147)

Solution 4

If you are using DefaultProvider, provider.xml includes the element <createdOn>. When the XML is parsed, the initialization process looks for a method called setCreatedOn in the class representing the containing element. For example:

<renderer class="my.local.Renderer"> 
<createdOn>12-Mar-2001</createdOn> 
... 
</renderer> 

In this example, the initialization process looks for my.local.Renderer.setCreatedOn(). In your case, the appropriate method does not exist, causing this error.

Problem 5

You receive an error like the following:

(WWC-00006)
An unexpected error occurred: User-Defined Exception
(WWC-43000)
wwpro_api_provider_registry.register_provider
An unexpected error occurred: ava.sql.SQLException: Inserted value too large for column:

This error indicates that your portlet has exceeded the data limit for a portlet. Each portlet is limited to 4K of data. The lengths of all of the following contribute toward this data limit:

  • provider name, display name, and description

  • parameter name, display name, and description

  • event name, display name, and description

Solution 5

You can take the following two actions to reduce the amount of data used for the portlet:

  • Reduce the length of the portlet's parameter and event names, display names, and descriptions.

  • Reduce the number of parameters and events in your portlet

B.2.2.4 Error Adding a Portlet to a Provider

You added a portlet to your provider, but, when you view the provider in Oracle Portal, you do not see the new portlet.

Problem

The most common problem is a syntactical error in provider.xml, but it could also be that the updated provider.xml file is not being found for some reason.

Solution

Try the following:

  • Examine provider.xml. Ensure that you have two syntactically correct opening and closing portlet tags within the provider tag. For example:

    <provider class="oracle.portal.provider.v2.DefaultProviderDefinition"
       session="true">
      <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition"
        version="1">
        <id>1</id>
        ...
      </portlet>
      <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition" 
        version= "1">
        <id>2</id>
        ...
      </portlet>
    </provider>
    
  • Check the test page for errors. If no errors are found, then refresh the provider.

  • Check the application.log of the provider for errors.

B.2.2.5 Portlet Does Not Exist

You received the following error message:

Error: The listener returned the following Message: 500 Portlet with id $1 doesn't
 exist

Problem

You removed a portlet from provider.xml without first removing the portlet from the page. The portlet no longer appears on the Customization page and therefore you cannot remove it from the page.

Solution

Delete the region that contains the portlet. Remember, when deleting a portlet from provider.xml, delete the portlet from the page first.

B.2.2.6 File Not Found

You receive the following error message:

Request URI:/jpdk/snoop/snoopcustom.jsp Exception: javax.servlet.ServletException:
java.io.FileNotFoundException:
C:\iAS\Apache\Apache\htdocs\jpdk\snoop\snoopcustom.jsp (The system cannot find the
path specified)

Problem

You added a JSP portlet to your page. Oracle Portal cannot locate the JSP in the file system through provider.xml.

Solution

Confirm the file name and location and verify the information within provider.xml.

B.2.2.7 XML Parser Error

The XML Parser may fail at times when parsing your provider.xml. This section explains what can go wrong and how you can correct it.

Problem 1

You receive the following error message:

Error: The XML parser encountered an Error, and could not complete the conversion
for portlet id=150, it returned the following message: XML Parsing Error

You attempted to register your provider or display portlets on a page, and received this error message. When altering provider.xml, one or more of the tags were corrupt and the file cannot be parsed.

Solution 1

Review provider.xml for errors.

Problem 2

You receive the following error message:

Error: The XML parser encountered an Error, and could not complete the conversion
for portlet id=146, it returned the following message: XSL reference value missing
in XML document.

You attempt to add your portlet to a page or register your provider, and you receive this error. The portlet information within provider.xml may be incorrect. Another possibility is that your classes cannot be located.

Solution 2

Check that no tags are missing and that they appear in the correct sequence. Verify that your class files exist and are specified correctly within provider.xml.

B.2.2.8 Error Adding Portlets

You receive the following error message when trying to add portlets to a page:

Error: An unexpected error occurred: ORA-29532: Java call terminated by uncaught
Java exception: Attribute value should start with quote. 
(WWC-43000) An unexpected error occurred: Attribute value should start with quote.
at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:205)

Problem

Oracle Portal has an issue with provider.xml. Most likely, an attribute within the file is corrupt.

Solution

Review provider.xml for errors.

B.2.2.9 Content Request Timed Out

You receive the following error message:

ERROR TIMEOUT FOR CONTENT=timeout

Problem

You successfully registered your Web provider. When adding portlets to a page or refreshing a page with existing portlets, you receive the timeout error message. This error indicates that Oracle Portal timed out trying to contact your Java portlet listener.

Solution

Verify that you can still access the sample page:

http://host:port/context/providers/servicename

You set the timeout period by adding the following init parameters to the page servlet of Oracle Portal's appConfig.xml at:

MW_HOME\user_projects\domains\<DomainName>\config\fmwconfig\servers\WLS_PORTAL\applications\portal\configuration

Note that this appConfig.xml file is for the Parallel Page Engine. For example:

<requesttime>1000</requesttime>
<minTimeout>100</minTimeout>
<stall>500</stall>

For more information about appConfig.xml and its configuration parameters, refer to Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

You may also set a timeout value for individual providers when you register them with Oracle Portal. Note that the provider timeout value must match or exceed the minTimeout parameter value in appConfig.xml in order to have any effect. For information about registering PDK-Java providers, refer to Section 6.5.5, "Registering and Viewing Your Oracle PDK-Java Portlet". For information about registering WSRP providers, refer to Section 6.3.4, "Registering and Viewing Your JSR 168 Portlet."

B.2.2.10 Message 500 Returned

You receive the following error message:

Error: The listener returned the following Message: 500

Problem

This generic message displays when Oracle Portal receives an Internal Server Error while attempting to display your portlet. This problem might have any one of several causes.

Solution

Review the WLS_PORTAL-diagnostic.log file located at MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs to discover the cause of the error.

B.2.2.11 JPS Portlets with the get Method not Working

HTML forms can be submitted using either the get or post method, but the WSRP standard only requires the consumer (portal) to use the post method. Support of the get method is optional according to the standard. Since portal consumers are not required to support the get method, we highly recommended that you use the post method when developing your portlets.

Problem

You have JPS portlets that use the get method and they are not working correctly in Oracle Portal. Forms with get lose the query string in the action URL when the form is submitted. The query string is needed for the portlets to return back to the portal and for the WSRP state.

Solution

Replace the get method with the post method.

B.2.2.12 Portlet Displays Session Expired Message After Redeployment

When you redeploy your portlets to the portlet container, all existing sessions between the producer and all of its consumers are lost. If a consumer tries to reuse an existing producer session, it may receive an error message the first time it tries to contact the producer after redeployment.

Problem

You receive an error message in your portlet the first time you access it after redeployment.

Error: Could not get markup. The cookie or session is invalid or there is a runtime exception.

Solution

To reestablish the producer's session, refresh the portal page. You won't see this error message if you are re-accessing the portlet from a new browser session because it automatically establishes a new producer session.

B.2.3 Portlet Code Does Not Compile

When you try to compile the code for your portlet, you receive a compilation error.

Problem

The Portlet Development library is not selected.

Solution

Make sure that Portlet Development library is selected for the project. Edit your project's properties and select the Profiles > Development > Libraries entry in the pane on the right. Make sure that the Portlet Development library is listed under Selected Libraries.

B.2.4 Application Server Connection Test Fails

In Oracle JDeveloper, the Application Server Connection Test fails with the message Connection refused: connect.

Problem 1

WebLogic Server is not running.

Solution 1

Make sure WebLogic Server is up and running by typing the following URL in your browser: http://yourhostyourdomain:7001

Problem 2

The connection information is incorrect.

Solution 2

Verify the connection information that you provided in the Connection Setup wizard.

B.2.5 Provider Test Page Shows Error

When accessing the provider test page with your browser, an error is shown.

Problem 1

The provider.xml syntax is incorrect.

Solution 1

More on Portal Center

Correct the provider.xml syntax. Refer to the PDK-Java XML Provider Definition Tag Reference document on Portal Studio:

http://www.oracle.com/technology/products/ias/portal/html/javadoc/xml_tag_reference_v2.html

Problem 2

Needed JAR files are missing from the deployment environment.

Solution 2

Search the JAR files for the missing class. When the missing JAR file is identified, you can add to the lib directory of the application from the Oracle JDeveloper Deployment Profile. Refer to the Oracle JDeveloper Online Help System for more information about the deployment profile.

B.2.6 Web Provider Not Appearing in Portlet Repository

Users cannot see a Web provider, such as Omniportlet, in the Portlet Repository even though it has been registered successfully and is visible in the navigator.

Problem

The Web provider uses DBPreferenceStore and the database information stored in data-sources.xml is incorrect.

Solution

Correct the information in data-sources.xml. Refresh the provider and invalidate the Portlet Repository cache.

B.2.7 Portlet Does Not Display on Page

When you access a portal page, the portlet does not display on the page.

Problem 1

The provider is not running.

Solution 1

Make sure that the provider is up and running by entering the provider registration URL in your browser's address bar.

Problem 2

The security manager for the provider is preventing the portlet from displaying.

Solution 2

In the provider definition file, provider.xml, delete or comment out the security manager, if any.

Problem 3

The user may not have the Execute privilege for the portlet as defined on the portlet's Access page.

Solution 3

Check the privileges for the portlet and, if the user or a group the user belongs to does not have the Execute privilege, grant them access. Portlets sometimes inherit their access privileges from the provider. You can use the Navigator in Oracle Portal to find the portlet's provider and check its access privileges, then drill down to the portlet to see its access privileges.

Problem 4

You get an error trying to display the portlet after you redeployed it.

Solution 4

Refer to Section B.2.2.12, "Portlet Displays Session Expired Message After Redeployment".

B.2.8 After Initial Successful Display, Portlet Does Not Display on Page

When you access a portal page, the portlet initially displays on the page but returns error messages in subsequent display attempts.

Problem

The provider session information is incorrect.

Solution

Check whether or not the provider uses sessions. If it does, edit the provider registration information to make sure that you registered it accordingly:

Login Frequency: Once per User Sessions

You should also confirm that <session> is set to true in provider.xml.

B.3 Diagnosing OmniPortlet Problems

This section provides information to help you troubleshoot problems you may encounter while using OmniPortlet.

To view errors that occur during the execution of OmniPortlet, perform the following:

  • Open the WLS_PORTAL.log file:

    MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs
    
  • Display the HTML source (for example, in Microsoft Internet Explorer browser, choose View > Source), and locate the errors embedded in the output HTML as comments.

To alter the logging level of the OmniPortlet Provider, perform the following action:

  • Open the web.xml file and modify the context-param value of oracle.portal.log.LogLevel to the possible values ranging from 1 to 8 (where 8 means debug). The web.xml file is located at:

    MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\tmp\_WL_user\portalTools_11.1.1.1.0\kjdcke\war\WEB-INF\web.xml
    

The OmniPortlet errors that you are most likely to encounter, and possible solutions, are as follows:

B.3.1 OmniPortlet Cannot Access the Specified URL

Your OmniPortlet displays errors or does not display the correct content.

Problem 1

The URL is not active.

Solution 1

Type the URL directly in your browser address field to test its validity.

Problem 2

If a proxy server is required to reach the site, the proxy settings are not valid. The following messages may display:

Failed to open specified URL.Cannot open the URL specified because of connection timeout.

Solution 2

Check that your proxy settings are valid by clicking Edit for the HTTP Proxy Setting in the OmniPortlet Provider Test Page.

Problem 3

The message OmniPortlet timed out displays in your OmniPortlet.

Solution 3

Perform either of the following tasks:

  1. If a proxy server is required to reach the site, see "Solution 2".

  2. If the URL request takes a long time to process (for example, it executes a long running query), try increasing the timeout value (in seconds) in the OmniPortlet provider.xml file in:

    MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\tmp\_WL_user\portalTools_11.1.1.1.0\1pwj8k\war\WEB-INF\providers\omniPortlet
    

    If you change the timeout value, you also need to do the following:

    • Bounce your middle-tier.

    • Increase the provider registration Timeout value of the Oracle Portal instances with which this provider is registered.

Problem 4

If HTTP authentication is required and the user name and password are missing or not valid, the following error message displays:

Authorization failed when connecting to the URL specified. Provide correct user name and password to connect.

Solution 4

To configure the Secured Data (Web Clipping) Repository Setting, click Edit on the OmniPortlet Provider Test Page. On the Source tab, click Edit Connection and enter a valid user name and password on the Connection Information page. To enter the connection information, the Secured Data Repository must be already be configured. To configure its settings, click Edit on the OmniPortlet Provider Test Page.

Problem 5

If opening a URL to an HTTPS site with a certificate and the certificate is identified as not valid, the following error message displays in the portlet:

SSL handshake failed for HTTPS connection to the specified URL. The certificate file needs to be augmented.

Solution 5

See the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

Problem 6

If the proxy server requires authentication and the user name and password are missing or not valid, the following error message displays:

Invalid or missing user proxy login information.

Solution 6

Check that your proxy server user name and password are valid. Refer to Section B.4.5, "HTTP Error Code 407 When Clipping Outside Firewall" for more information.

B.3.2 Portlet Content Is Not Refreshed

After changing portlet properties in the Edit Defaults page, your portlet content is not refreshed.

Problem 1

Oracle Web Cache invalidation is not configured properly.

Solution 1

See Section I.2.1.3 "Configuring Caching (PDK Only)" in the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

Problem 2

You have personalized the portlet.

Solution 2

See Section B.3.3, "Edit Defaults Changes are Not Reflected in the Personalized Portlet".

B.3.3 Edit Defaults Changes are Not Reflected in the Personalized Portlet

When you personalize the portlet at runtime using the Personalize link, the new property values are not reflected in the personalized version of the portlet.

Problem

When you personalize the portlet, a complete copy of the personalization object file is created. Since all properties are duplicated, subsequent modifications through Edit Defaults are not reflected in the personalized version.

Solution

To ensure the latest changes are made to the portlet, click Personalize again (after the modifications using Edit Defaults), then select the Reset to Defaults option.

B.4 Diagnosing Web Clipping Problems

This section provides information to help you troubleshoot the following problems you may encounter while using the Web Clipping provider or Web Clipping Studio:

B.4.1 Setting Logging Levels

By default, the logging level of Web Clipping is set to level 3, which provides information about configuration, severe errors, and warnings. This level is reasonable for day-to-day operations. To view information useful for debugging, you should set the logging level to 8.

To set the logging level, edit the web.xml file, which is located at:

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\tmp\_WL_user\portalTools_11.1.1.1.0\kjdcke\war\WEB-INF\web.xml

To set the level to 8 and display debugging information, set the value of the parameter oracle.portal.log.LogLevel as follows:

<context-param>
        <param-name>oracle.portal.log.LogLevel</param-name>
        <param-value>8</param-value>
</context-param>

After you make the change, restart the Web application.

B.4.2 Reviewing Error Messages

Errors that occur when accessing the Test Page or executing of the Web Clipping portlet are written to:

MW_HOME\user_projects\domains\<DomainName>\servers\WLS_PORTAL\logs\WLS_PORTAL.log

B.4.3 Checking the Status of the Provider with the Test Page

You can use the Web Clipping Provider Test Page to determine if the provider is functioning properly. To access the Test Page, click Web Clipping Provider from the Portal Tools Application Welcome Page, which is located at:

http://host:port/portalTools

The Provider Test Page: Web Clipping is displayed. It provides the following information:

  • Portlet information about the Web Clipping portlet. The Web Clipping provider contains only one portlet.

  • Provider initialization parameters and values.

  • Provider status, with links to pages for editing the configuration.

For more information about using the Test Page, see the "Administering Web Clipping" appendix in the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

B.4.4 Problem Connecting to the Web Site for Clipping

You encounter difficulties making or maintaining connections to the Web site containing the clipping.

Problem 1

If you cannot access the Web site using Web Clipping Studio, you may be using an incorrect URL.

Solution 1

To be sure a URL is correct, test the URL that you want to clip in a browser before you attempt to clip it. Also test the URL to be sure that it is accessible from the provider middle tier.

Problem 2

The connection times out when attempting to browse to any Web site and your environment uses a proxy server to connect to HTTP servers outside a firewall.

Solution 2

Make sure that the proxy servers are configured correctly.

To configure the proxy servers, go to the Web Clipping Provider Test Page, as described in Section B.4.3, "Checking the Status of the Provider with the Test Page". In the Web Clipping Provider Test Page, click Edit in the Actions column of the HTTP Proxy row. In the Edit Provider page, specify the HTTP Proxy Host and the HTTP Proxy Port for the HTTP Proxy.

For access to servers inside the firewall, you can specify a list of domain names that need not go through the firewall by selecting No Proxy for Domains beginning with and entering the URL. You do not need to restart the managed server for the new settings to take effect.

For more information about configuring proxy servers, see the "Administering Web Clipping" appendix of the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

Problem 3

Your configuration includes a load balancer and you experience difficulty making or maintaining connections while attempting to add a clip to a Web Clipping portlet.

Solution 3

The configuration was not set up correctly. To solve this problem, perform the following:

  • If multiple Oracle WebLogic Server instances are set up behind a load balancer, the Web Clipping Repository and HTTP proxy must be configured identically on all Oracle WebLogic Server instances before you join them to the load balancer.

    Web clippings have definitions that must be stored persistently in the Web Clipping Repository hosted by an Oracle Database server. In a multiple middle-tier environment, all instances of Oracle WebLogic Server must store definitions in the same repository.

  • The Load Balancer must be session-enabled. If it is not, the first request connects, but subsequent requests, which may be routed to a different instance, fail.

For more information about configuring with a load balancer, see the "Performing Advanced Configuration" chapter of the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

Problem 4

You use a reverse proxy, but cannot make a connection.

Solution 4

Make sure that the reverse proxy server is configured correctly. See the "Performing Advanced Configuration" chapter of the Oracle Fusion Middleware Administrator's Guide for Oracle Portal for information about configuring a reverse proxy.

Problem 5

You cannot connect and the error log contains a message about denying logon to the database. (See Section B.4.1, "Setting Logging Levels" for information about the error log.)

Solution 5

The PORTAL schema password for the infrastructure database may have been modified manually and it may not match the password stored in Oracle Internet Directory. Refer to the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory for more information about setting the password.

B.4.5 HTTP Error Code 407 When Clipping Outside Firewall

The proxy servers are configured for proxy authentication and you receive HTTP error code 407 when you attempt to clip a page outside the firewall.

Problem

The proxy servers are configured for proxy authentication, but you have not configured proxy authentication.

Solution

You must manually configure proxy authentication. Web Clipping supports both global proxy and per-user authentication. You can specify the realm of the proxy server and whether all users login automatically with a provided user name and password, each user logs in with an individual user name and password, or all users log in with a specified user name and password. For more information about configuring proxy authentication, see the "Administering Web Clipping" appendix of the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

B.4.6 Cannot Clip a Page

You can connect to the Web site, but you cannot clip the page.

Problem

The page may be overpopulated with IFrames.

Solution

View the page in a browser and look at the page source. If it contains IFrames, start browsing in Web Clipping Studio using the URL pointed to by the IFrame src attribute.

B.4.7 Images Not Retrieved with Clipping

Images in a Web clipping are not retrieved with the rest of the clipping.

Problem

Because images are treated as links (using the src attribute of the IMG tag), images from clipped sites are served directly from the original sites. If the images require that you enable proxy settings during creation of the clipping, then disabling the browser proxy setting disables the viewing of the images in a clipping.

Solution

Enable proxy settings in the browser.

B.4.8 Resolving Problems with Migration of URL-based Portlets

You can migrate URL-based portlets that are stored in a provider.xml file to Web Clipping portlets. This section explains how to troubleshoot issues that arise as you migrate your portlets to Web Clipping portlets. For more information on the migration process itself, refer to Section 5.6, "Migrating from URL-Based Portlets".

B.4.8.1 File Not Found Exception When Running Migration Tool

When you run the migration tool, you receive the following exception:

Exception in thread "main" java.io.FileNotFoundException:
 /wrongpath/somservice.properties (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:103)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.importService
                                             (UrlServicesMigrator.java:631)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.main
                                             (UrlServicesMigrator.java:724)
        at oracle.webdb.wcs.WcWebdbMain.main(WcWebdbMain.java:60)

Problem

The files you specified for the deployment properties file for either the URL-based portlets service or the Web Clipping Portlet service do not exist.

Solution

Verify the path to both service deployment properties files in the argument list to see if they point to the correct location.

B.4.8.2 Null Pointer Exception When Running Migration Tool

When you run the migration tool, you receive the following exception:

Exception in thread "main" java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:375)
        at java.util.Properties.setProperty(Properties.java:97)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.setRepository
                                                  (UrlServicesMigrator.java:415)
        at oracle.webdb.wcs.client.urlservices.UrlServicesMigrator.main
                                                  (UrlServicesMigrator.java:733)
        at oracle.webdb.wcs.WcWebdbMain.main(WcWebdbMain.java:58)

Problem

The Repository settings are not configured for the Web Clipping Provider.

Solution

See Section 5.6.1, "Preparing for Migration" for information about steps you must take before running the migration tool.

B.4.8.3 Target provider.xml is Already Migrated Error

When you run the migration tool, you receive the following error:

Error: Target provider.xml is already migrated.

Problem

The provider.xml file pointed to by the URL-based portlets service deployment properties file has already been migrated. The provider definition class specified in the provider.xml file is already in WcProviderDefinition.

Solution

If you want to redo the migration, rename your service in both the deployment properties file and the entire directory name under WEB-INF/providers and then run the migration again.

B.4.8.4 Cannot Migrate provider.xml with Class Error

When you run the migration tool, you receive the following error:

Error: Can't migrate provider.xml with class <someclass>

Problem

The provider.xml file pointed to by the URL-based portlets service deployment properties file contains a provider class name that does not match the one used by URL-based portlets. Specifically, the Provider class name specified in the file is not oracle.portal.provider.v2.http.URLProviderDefinition. The migration tool is intended to migrate URL-based Portlet provider definitions, not any other kind of provider definitions. Even those classes which sub-class from URL-based portlets provider definition will not be correctly migrated.

Solution

You cannot migrate this service.

B.5 Need More Help?

You can find more solutions on Oracle MetaLink, http://metalink.oracle.com. If you do not find a solution for your problem, log a service request.

See Also:

Oracle Portal Release Notes, available on the Oracle Technology Network.