24 Managing Portlet Producers

This chapter describes how to register, edit, delete, and deploy WSRP and Oracle PDK-Java portlet producers.

Note:

Pagelet producer registration is described in a different chapter. For details, see Section 25.2, "Registering the Pagelet Producer".

System administrators can use Fusion Middleware Control or the WLST command-line tool to register and manage WSRP and Oracle PDK-Java portlet producers for WebCenter Portal application deployments.

Application administrators can also register and manage portlet producers at runtime through out-of-the-box administration pages or using the portlet producer task flow.

This chapter includes the following sections:

Audience

The content of this chapter is intended for Fusion Middleware administrators (users granted the Admin or Operator role through the Oracle WebLogic Server Administration Console). For more information, see Section 1.13, "Oracle WebCenter Portal Administration Tools."

24.1 What You Should Know About Portlet Producers

Consider the following while working with portlet producers:

24.2 Registering WSRP Producers

This section describes how to register WSRP producers for a deployed application, using Fusion Middleware Control and WLST commands. This section includes the following subsections:

For information about how to register WSRP producers at design-time, using JDeveloper, see the section "How to Register a WSRP Portlet Producer" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

24.2.1 Registering a WSRP Producer Using Fusion Middleware Control

To register a WSRP portlet producer:

  1. Log in to Fusion Middleware Control and navigate to the home page for the WebCenter Portal application. For more information, see:

  2. Do one of the following:

    • For the Spaces application - From the WebCenter Portal menu, choose Settings > Service Configuration.

    • For Framework applications - From the Application Deployment menu, choose WebCenter Portal > Service Configuration.

  3. In the Add Portlet Producer Connection section, enter connection details for the WSRP producer.

    For detailed parameter information, see Table 24-1.

    Table 24-1 WSRP Producer Connection Parameters

    Field Description

    Connection Name

    Enter a unique name to identify this portlet producer registration within the WebCenter Portal application. The name must be unique across all WebCenter Portal connection types.

    The name you specify here appears in Composer (under the Portlets folder).

    Producer Type

    Indicate the type of this producer. Select WSRP Producer.

    WSDL URL

    The registration URL for the WSRP producer.

    The syntax varies according to your WSRP implementation. For example, possible URL formats for a portlet deployed to the Oracle WSRP container include:

    http://host_name:port_number/context_root/portlets/wsrp2?WSDL

    http://host_name:port_number/context_root/portlets/wsrp1?WSDL

    http://host_name:port_number/context_root/portlets/?WSDL (WSRP 1.0 for backward compatibility)

    Where:

    • host_name is the server where your producer is deployed.

    • port_number is the HTTP listener port number.

    • context_root is the Web application's context root.

    • portlets wsrp(1|2)?WSDL is static text. All producers deployed to the Oracle WSRP container are exposed as WSRP version 1 and version 2 producers.

      In WebCenter Portal: Spaces, only v2 WSDLs are supported for Oracle WebLogic Portal Producers.

    For example:

    http://myhost.com:7778/MyPortletApp/portlets/wsrp2?WSDL

    For WSRP producers, you can obtain this registration URL by accessing the producer test page at:

    http://host_name:port_number/context_root/info

    Use Proxy?

    Select if the WebCenter Portal application must use an HTTP proxy when contacting this producer. If selected, enter values for Proxy Host and Proxy Port.

    A proxy is required when the WebCenter Portal application and the remote portlet producer are separated by a firewall and an HTTP proxy is needed to communicate with the producer.

    Proxy Host

    Enter the host name or IP address of the proxy server.

    Do not prefix http:// to the proxy server name.

    Proxy Port

    Enter the port number on which the proxy server listens. The default port is 80.

    Default Execution Timeout (Seconds)

    Enter a suitable timeout for communications with the producer, in seconds. For example, the maximum time the producer may take to register, deregister, or display portlets on WebCenter Portal application pages. The default is 30 seconds.

    Individual portlets may define their own timeout period, which takes precedence over the value expressed here.


  4. Use the Security section to specify the type of security token to use for the identity propagation/assertion.

    The security token with the propagated or asserted user information is represented as an XML element in the SOAP header. The security token and the SOAP message body are then digitally signed to prove the authenticity of the SOAP message origin from the WebCenter Portal application. WebCenter Portal applications support six types of security tokens: WSS 1.0 Username Token Without Password, WSS 1.0 Username Token With Password, WSS 1.0 SAML Token, WSS 1.0 SAML Token With Message Integrity, WSS 1.0 SAML Token With Message Protection, and WSS 1.1 SAML Token With Message Protection.

    Where SAML is an abbreviation for Security Assertion Markup Language.

    Note:

    PeopleSoft WSRP producers support two profiles: Username Token With Password and SAML Token With Message Integrity. Oracle Portal (as a consumer) supports three profiles: Username Token Without Password, Username Token With Password, SAML Token With Message Integrity. Other Oracle WSRP producers support all six profiles. For other WSRP containers, check with the specific vendor to determine the token formats they support.

    For detailed parameter information, see Table 24-2.

    Table 24-2 WSRP Producer Security Connection Parameters

    Field Description

    Token Profile

    Select the type of token profile to use for authentication with this WSRP producer. Select from:

    • WSS 1.0 SAML Token With Message Integrity
      (wss10_saml_token_with_message_integrity_client_policy)—This policy provides message-level integrity protection and SAML-based authentication for outbound SOAP requests in accordance with the WS-Security 1.0 standard. A SAML token, included in the SOAP message, is used in SAML-based authentication with sender vouches confirmation. This policy uses WS-Security's Basic 128 suite of asymmetric key technologies and SHA-1 hashing algorithm for message integrity.

    • WSS 1.0 SAML Token With Message Protection
      (oracle/wss10_saml_token_with_message_protection_client_policy)—This policy provides message-level protection (integrity and confidentiality) and SAML-based authentication for outbound SOAP requests in accordance with the WS-Security 1.0 standard. The web service consumer includes a SAML token in the SOAP header and the confirmation type is sender-vouches. This policy uses WS-Security's Basic 128 suite of asymmetric key technologies. Specifically, RSA key mechanisms for message confidentiality, SHA-1 hashing algorithm for message integrity, and AES-128 bit encryption.

    • WSS 1.0 Username Token Without Password
      (oracle/wss10_username_id_propagation_with_msg_protection_client_policy)—This policy provides username (with password) token profile based identity propagation with certificate based message protection for outbound SOAP requests in accordance with the WS-Security 1.0 standard. Credentials (username only) are included in outbound SOAP request messages through a WS-Security UsernameToken header. No password is included. Message protection is provided using WS-Security 1.0's Basic 128 suite of asymmetric key technologies. Specifically, RSA key mechanisms for message confidentiality, SHA-1 hashing algorithm for message integrity, and AES-128 bit encryption.

    Token Profile (cont.)

    • WSS 1.0 Username Token With Password
      (oracle/wss10_username_token_with_message_protection_client_policy)—This policy provides username (with password) token profile based identity propagation with certificate based message protection for outbound SOAP requests in accordance with the WS-Security v1.0 standard. Both plain text and digest mechanisms are supported. This policy uses WS-Security's Basic 128 suite of asymmetric key technologies. Specifically, RSA key mechanism for message confidentiality, SHA-1 hashing algorithm for message integrity, and AES-128 bit encryption.

      Use this token profile if the WSRP producer has a different identity store. You will need to define an external application pertaining to the producer and associate the external application with this producer.

    • WSS 1.0 SAML Token
      (oracle/wss10_saml_token_client_policy)—This policy provides SAML-based authentication for outbound SOAP request messages in accordance with the WS-Security 1.0 standard. The policy propagates user identity and is typically used in intra departmental deployments where message protection and integrity checks are not required.

      This policy does not require any keystore configuration.

    • WSS 1.1 SAML Token with Message Protection
      (oracle/wss11_saml_token_with_message_protection_client_policy)—This policy provides message-level protection (integrity and confidentiality) and SAML token population for outbound SOAP requests in accordance with the WS-Security 1.1 standard. A SAML token, included in the SOAP message, is used in SAML-based authentication with sender vouches confirmation. This policy uses the symmetric key technology for signing and encryption, and WS-Security's Basic 128 suite of asymmetric key technologies for endorsing signatures.

    • None—No token. If None is selected, no WS-Security header is attached to the SOAP message.

    Configuration

    Select:

    • Default to use a default token profile configuration.

    • Custom to provide a custom Oracle Web Service Manager configuration.

      Additional security options display (including all the keystore properties) when you select Custom.

    Issuer Name

    Enter the name of the issuer of the SAML Token.

    For example: www.example.com

    The issuer name is the attesting entity that vouches for the verification of the subject, and it must be a trusted SAML issuer on the producer end.

    Valid for: WSS 1.0 SAML Token With Message Integrity, WSS 1.0 SAML Token With Message Protection. WSS 1.0 SAML Token, WSS 1.1 SAML Token with Message Protection

    Default User

    Enter a user name to assert to the remote producer when the user is not authenticated with the WebCenter Portal application.

    When unauthenticated, the identity anonymous is associated with the application user. The value anonymous may be inappropriate for the remote producer, so it may be necessary to specify an alternative identity here. Keep in mind though, that in this case, the WebCenter Portal application has not authenticated the user so the default user you specify should be a low privileged user in the remote producer. If the user has authenticated to the application, the user's identity is asserted rather than the default user.

    The remote WSRP producer must be set up to accept this information. You must also add a grant to the policy store as described in Section 24.2.3, "Adding a Grant to the Policy Store for a Mapped User Identity."

    Valid for: WSS 1.0 SAML Token With Message Integrity, WSS 1.0 SAML Token With Message Protection, WSS 1.0 SAML Token, WSS 1.1 SAML Token with Message Protection and WSS 1.0 Username Without Password.

    Associated External Application

    (Username With Password)

    If this producer uses an external application for authentication, use the Associated External Application dropdown list to identify the application. If the application you want is not listed, select Create New to define the external application now.

    An external application is required to support producers using the security option WSS 1.0 Username With Password. The external application stores and supplies the user credentials. See also Section 26.2, "Registering External Applications."

    Valid for: WSS 1.0 Username With Password only.


  5. Use the Keystore section to specify the location of the key store that contains the certificate and private key that is used for signing some parts (security token and SOAP message body) of the SOAP message.

    Only configure these properties if you want to override the configuration specified for the domain

    For detailed parameter information, see Table 24-3.

    Table 24-3 WSRP Producer Key Store Connection Parameters

    Field Description

    Recipient Alias

    Specify the key store alias that is associated with the producer's certificate.

    This certificate is used to encrypt the message to the producer.

    Store Path

    Enter the absolute path to the keystore that contains the certificate and the private key that is used for signing or encrypting the SOAP message (security token and message body). The signature, encryption, and recipient keys described in this table must be available in this keystore.

    The keystore file specified must be created using JDK's keytool utility.

    Password

    Provide the password to the keystore that was set when the keystore was created. The producer is not available if a password is not specified or incorrect.

    Signature Key Alias

    Enter the signature key alias.

    The Signature Key Alias is the identifier for the certificate associated with the private key that is used for signing.

    Signature Key Password

    Enter the password for accessing the key identified by the alias specified in Signature Key Alias.

    Encryption Key Alias

    Enter the key alias used by the producer to encrypt the return message. A valid value is one of the key aliases that is located in the specified key store.

    This property is optional. If not specified, the producer uses the signing key for encrypting the return message.

    Encryption Key Password

    Enter the password for accessing the encryption key.


  6. Click OK.

    The new producer appears in the connection table.

24.2.2 Registering a WSRP Producer Using WLST

Use the WLST command registerWSRPProducer to create a connection to a WSRP portlet producer and register the producer with your WebCenter Portal application. For command syntax and examples, see the section "registerWSRPProducer" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

For information on how to run WLST commands, see Section 1.13.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

24.2.3 Adding a Grant to the Policy Store for a Mapped User Identity

If you are using the Default User field to map an alternative user identity you must also add a grant to the policy store by doing one of the following:

  • Adding the following grant directly to the policy store:

    <grant>
      <grantee>
       <codesource>
     
    <url>file:${common.components.home}/modules/oracle.wsm.agent.common_11.1.1/wsm-agent.jar</url>
       </codesource>
      </grantee>
      <permissions>
        <permission>
          <class>oracle.wsm.security.WSIdentityPermission</class>
          <name>resource=MyAppID</name>
          <actions>assert</actions>
        </permission>
      <permissions>
    <grant>
    

    Replacing MyAppID in the line above with the name of the client application, including the version number if any.

  • Granting the permission by running the following WLST command:

    grantPermission(codeBaseURL='file:${common.components.home}/modules/oracle.wsm.agent.common_11.1.1/wsm-agent.jar',
    permClass='oracle.wsm.security.WSIdentityPermission',
    permTarget='resource=MyAppID', permActions='assert')
    

    Replacing MyAppID with the name of the client application, including the version number if any.

24.2.4 Registering a WSRP Portlet Producer in WebCenter Portal: Spaces

For information about registering a WSRP portlet producer in WebCenter Portal: Spaces, see the section "Registering Portlet Producers Through Spaces Administration" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

24.2.5 Registering a WSRP Portlet Producer in WebCenter Portal: Framework Applications

For information about registering a WSRP portlet producer in Framework applications, see the section "How to Register a WSRP Portlet Producer" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

24.3 Testing WSRP Producer Connections

To verify a WSRP producer connection, first obtain the producer URL from:

http://host_name:port_number/context_root/info

Then, run the producer URL in a browser window.

For a WSRP v1 producer connection, the URL format is:

http://host_name:port_number/context_root/portlets/wsrp1?WSDL

For example:

http://myhost.com:7778/MyPortletApp/portlets/wsrp1?WSDL

For a WSRP v2 producer connection, the URL format is:

http://host_name:port_number/context_root/portlets/wsrp2?WSDL

For example:

http://myhost.com:7778/MyPortletApp/portlets/wsrp2?WSDL

24.4 Registering Oracle PDK-Java Producers

This section describes how to register PDK-Java producers for a deployed WebCenter Portal application using Fusion Middleware Control and WLST commands. This section includes the following subsections:

For information about how to register PDK-Java producers at design-time, using JDeveloper, see the section "How to Register an Oracle PDK-Java Portlet Producer" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

24.4.1 Registering an Oracle PDK-Java Producer Using Fusion Middleware Control

To register an Oracle PDK-Java portlet producer:

  1. Log in to Fusion Middleware Control and navigate to the home page for the WebCenter Portal application. For more information, see:

  2. Do one of the following:

    • For the Spaces application - From the WebCenter Portal menu, choose Settings > Service Configuration.

    • For Framework applications - From the Application Deployment menu, choose WebCenter Portal > Service Configuration.

  3. In the Add Portlet Producer Connection section, enter connection details for the Oracle PDK-Java producer.

    For detailed parameter information, see Table 24-4, "Oracle PDK-Java Producer Connection Parameters".

    Table 24-4 Oracle PDK-Java Producer Connection Parameters

    Field Description

    Connection Name

    Enter a unique name that identifies this portlet producer registration within the WebCenter Portal application. The name must be unique across all WebCenter Portal connection types.

    The name you specify here appears in Composer (under the Portlets folder).

    Producer Type

    Indicate the type of this producer. Select Oracle PDK-Java Producer.

    URL End Point

    Enter the Oracle PDK-Java producer's URL using the following syntax:

    http://host_name:port_number/context_root/providers

    Where:

    • host_name is the server where the producer is deployed

    • port_number is the HTTP Listener port number

    • context_root is the Web application's context root

    • providers is static text

    For example:

    http://myHost.com:7778/myEnterprisePortlets/providers

    Service ID

    Enter a unique identifier for this producer.

    PDK-Java enables you to deploy multiple producers under a single adapter servlet. Producers are identified by their unique service ID. A service ID is required only if the service ID is not appended to the URL end point.

    For example, the following URL endpoint requires sample as the service ID:

    http://domain.example.com:7778/axyz/providers

    However, the following URL endpoint, does not require a service ID:

    http://domain.example.com:7778/axyz/providers/sample

    The service ID is used to look up a file called <service_id>.properties, which defines the characteristics of the producer, such as whether to display its test page. Use any value to create the service ID. When no Service ID is specified, _default.properties is used.

    Use Proxy?

    Select this checkbox if the WebCenter Portal application must use an HTTP proxy when contacting this producer. If selected, enter values for Proxy Host and Proxy Port.

    A proxy is required if the WebCenter Portal application and the remote portlet producer are separated by a firewall and an HTTP proxy is needed for communication with the producer.

    Proxy Host

    Enter the host name or IP address of the proxy server.

    Do not prefix http:// to the proxy server name.

    Proxy Port

    Enter the port number on which the proxy server listens. The default port is 80.

    Associated External Application

    If one of this producer's portlets requires authentication, use the Associated External Application dropdown to identify the correct external application.

    If the application you want is not listed, select Create New to define the external application now.

    See also Section 26.2, "Registering External Applications."

    Establish Session?

    Select to enable a user session when executing portlets from this producer. When sessions are enabled, they are maintained on the producer server. This allows the portlet code to maintain information in the session.

    Message authentication uses sessions, so if you specify a shared key, you must also select this option.

    For sessionless communication between the producer and the server, do not select this option.

    Default Execution Timeout (Seconds)

    Enter a suitable timeout for communications with the producer, in seconds. For example, the maximum time the producer may take to register, deregister, or display portlets on WebCenter Portal application pages. This defaults to 30 seconds.

    Individual portlets may define their own timeout period, which takes precedence over the value expressed here.

    Subscriber ID

    Enter a string to identify the consumer of the producer being registered.

    When a producer is registered with an application, a call is made to the producer. During the call, the consumer (WebCenter Portal application in this instance) passes the value for Subscriber ID to the producer. If the producer does not see the expected value for Subscriber ID, it might reject the registration call.

    Shared Key

    Enter a shared key to use for producers that are set up to handle encryption.

    The shared key is used by the encryption algorithm to generate a message signature for message authentication. Note that producer registration fails if the producer is set up with a shared key and you enter an incorrect shared key here. The shared key can contain between 10 and 20 alphanumeric characters.

    This key is also used when registering a producer using the Federated Portal Adapter (FPA). The Shared Key is also known as the HMAC key.


  4. Click OK.

    The new producer appears in the connection table.

24.4.2 Registering an Oracle PDK-Java Producer Using WLST

Use the WLST command registerPDKJavaProducer to create a connection to a PDK-Java portlet producer and register the producer with your WebCenter Portal application. For command syntax and examples, see the section "registerPDKJavaProducer" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

For information on how to run WLST commands, see Section 1.13.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

24.4.3 Registering an Oracle PDK-Java Portlet Producer in WebCenter Portal: Spaces

For information about registering an Oracle PDK-Java portlet producer in WebCenter Portal: Spaces, see the section "Registering Portlet Producers Through Spaces Administration" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

24.4.4 Registering an Oracle PDK-Java Portlet Producer in WebCenter Portal: Framework Applications

For information about registering an Oracle PDK-Java portlet producer in Framework applications, see the section "How to Register an Oracle PDK-Java Portlet Producer" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

24.5 Testing Oracle PDK-Java Producer Connections

To verify an Oracle PDK-Java producer connection, run the producer URL in a browser window in the following format:

http://host_name:port_number/context-root/providers/producer_name

For example:

http://domain.example.com:7778/axyz/providers/sample

24.6 Editing Producer Registration Details

You can update producer registration details at any time.

If a producer moves to a different location, then you must reconfigure any connections you have defined to this producer. You can use Fusion Middleware Control or WLST to edit the URL property:

  • WDSL URL for a WSRP producer

  • URL End Point for an Oracle PDK-Java producer

To retain all the portlet customizations and personalizations that users make while working with WebCenter Portal applications, you must also migrate producer customizations and personalizations to the producer's new location. Use the WLST commands exportPortletClientMetadata and importPortletClientMetadata to migrate portlet client metadata to a different location. For more information, see Section 39.2.3, "Exporting Portlet Client Metadata (Framework Applications)" and Section 39.2.4, "Importing Portlet Client Metadata (Framework Applications)."

Note:

If you want to migrate all the metadata for a particular producer (rather than portlet customizations and personalizations only), then use the producer migration tool. For more information, see Section 39.1.3.13, "Exporting Portlet Producers" and Section 39.1.3.14, "Importing Portlet Producers."

This section includes the following subsections:

24.6.1 Editing Producer Registration Details Using Fusion Middleware Control

To update connection details for a portlet producer:

  1. Log in to Fusion Middleware Control and navigate to the home page for the WebCenter Portal application. For more information, see:

  2. Do one of the following:

    • For the Spaces application - From the WebCenter Portal menu, choose Settings > Service Configuration.

    • For Framework applications - From the Application Deployment menu, choose WebCenter Portal > Service Configuration.

  3. From the list of services on the WebCenter Portal Service Configuration page, select Portlet Producers.

  4. In the Manage Portlet Producer Connections section, select the producer you want to modify, and click Edit.

  5. In the Edit Portlet Producer Connection section, modify connection details, as required. For more information, see:

  6. Click OK.

24.6.2 Editing Producer Registration Details Using WLST

Use the following WLST commands to edit portlet producer connections:

For command syntax and examples, see the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

For information on how to run WLST commands, see Section 1.13.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

24.6.3 Migrating WSRP Producer Metadata to a New WSDL URL

If you want to move a WSRP producer to a new WSDL URL, you can use the exportPortletClientMetadata, setWSRPProducer, and importPortletClientMetadata WLST commands to migrate the existing producer metadata to the new location.

To migrate WSRP producer metadata to a new URL endpoint:

  1. Export the producer metadata, using the WLST command exportPortletClientMetadata. For command syntax and examples, see "exportPortletClientMetadata" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

  2. Change the producer's WSDL URL, using the WLST command setWSRPProducer. For command syntax and examples, see "setWSRPProducer" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

  3. Import the producer metadata, using the WLST command importPortletClientMetadata. For command syntax and examples, see "importPortletClientMetadata" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

24.7 Deregistering Producers

You can deregister producers at any time but, before doing so, consider any impact to the WebCenter Portal application as portlets associated with a deregistered producer no longer work. Check the Portlets Producer Invocation metric to see how frequently the producer is being used. For more information, see Section 38.2, "Viewing Performance Information."

When you deregister a producer, registration data is removed from both the WebCenter Portal application and the remote producer:

  • WebCenter Portal application - The producer connection is deleted and producer metadata is also deleted.

  • Remote producer - Portlet instances are deleted (not the portlets themselves).

Portlet instances are not removed from WebCenter Portal application pages. In place of the portlet, users see a "Portlet unavailable" message.

Note:

Consider deleting the external application associated with this portlet producer if the application's sole purpose was to support this producer. See Section 26.5, "Deleting External Application Connections."

This section includes the following subsections:

24.7.1 Deregistering Producers Using Fusion Middleware Control

To deregister a portlet producer:

  1. Log in to Fusion Middleware Control and navigate to the home page for the WebCenter Portal application. For more information, see:

  2. Do one of the following:

    • For the Spaces application - From the WebCenter Portal menu, choose Settings > Service Configuration.

    • For Framework applications - From the Application Deployment menu, choose WebCenter Portal > Service Configuration.

  3. From the list of services on the WebCenter Portal Service Configuration page, select Portlet Producers.

  4. Select the name of the producer you want to remove, and click Delete.

The connection details are removed. Portlets associated with this producer are no longer accessible within the WebCenter Portal application.

24.7.2 Deregister Producers Using WLST

Use the following WLST commands to deregister portlet producer connections:

Use the following WLST commands to deregister the out-of-the-box or sample producers provided with Oracle WebCenter Portal:

For command syntax and examples, see the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

For information on how to run WLST commands, see Section 1.13.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

24.7.3 Deregistering Producers in WebCenter Portal: Spaces

For information about deregistering portlet producers in WebCenter Portal: Spaces, see the section "Deregistering Portlet Producers" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

24.7.4 Deregistering Producers in WebCenter Portal: Framework Applications

For information about deregistering portlet producers in Framework applications, see the section "How to Delete a Portlet Producer" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

24.8 Deploying Portlet Producer Applications

To deploy a portlet producer to an Oracle WebLogic Managed Server instance, you can use Fusion Middleware Control, Oracle WebLogic Server Administration Console, or WLST. For information on deploying a portlet producer at design-time, through Oracle JDeveloper, see the chapter "Testing and Deploying Your Portlets" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

This section includes the following subsections:

For more information about deploying applications, see the chapter "Deploying Application" in Oracle Fusion Middleware Administrator's Guide.

24.8.1 Understanding Portlet Producer Application Deployment

You can deploy your Portlet Producer application to any Oracle WebLogic Managed Server instance that is configured to support WebCenter Portal portlet producers. To deploy an application to a managed server, you can use Oracle Enterprise Manager Fusion Middleware Control, Oracle WebLogic Administration Console, or WLST. For more information about these administration tools, see Section 1.13, "Oracle WebCenter Portal Administration Tools."

24.8.2 Converting a JSR 286 Portlet Producer EAR File into a WSRP EAR File

To deploy JSR 286 portlets to the WSRP Oracle Portlet Container, the portlet application EAR files must be converted into a WSRP application, which contains the necessary WSDL documents. To convert the JSR 286 portlet producer EAR file into a WSRP EAR file, run the WSRP producer predeployment tool located in the Middleware directory at WC_ORACLE_HOME/webcenter/modules/oracle.portlet.server_11.1.1, as follows:

java -jar wsrp-predeploy.jar source EAR  target EAR

For JSR 286 portlets developed with servlet version 2.3, you must specify Web proxies using the following command:

java -Dhttp.proxyHost=proxy host -Dhttp.proxyPort=proxy port -jar
wsrp-predeploy.jar source EAR target EAR 

where:

  • proxy host is the server to which your producer has been deployed.

  • proxy port is the HTTP Listener port.

  • wsrp-predeploy.jar is located in the WC_ORACLE_HOME/webcenter/modules/oracle.portlet.server_11.1.1 directory.

  • source EAR is the name of the JSR 286 EAR file.

  • target EAR file is the name of the new EAR file to be created. If the file name for the targeted EAR file is not specified, then a new EAR file called WSRP-source EAR is produced.

In the following example Web proxy is specified:

java -Dhttp.proxyHost=myhttpproxy.com -Dhttp.proxyPort=80 -jar wsrp-predeploy.jar wsrp-samples.ear

This example produces WSRP-wsrp-samples.ear.

The wsrp-predeploy.jar predeployment tool makes all the necessary changes to a JSR 286 portlet to be able to deploy it to the Oracle portlet container and expose it as a WSRP producer. Here are some examples of what the predeployment tool does:

  • Creates the wsdldeploy directory in the java.io.tmpdir folder.

    • On UNIX, the default value of this property is /tmp or /var/tmp

    • On Microsoft Windows, the default value of this property is c:\temp.

  • Unpacks the EAR file into wsdldeploy/EAR.

  • Unpacks the WAR files into wsdldeploy/[warfilename.war]/.

  • Inserts WEB-INF/WSDLs into the unpacked application.

  • Modifies WEB-INF/web.xml in the unpackaged WAR files.

  • Inserts or modifies WEB-INF/webservices.xml in the WAR files.

  • Inserts or modifies WEB-INF/oracle-webservices.xml in the WAR files.

  • Repackages the WARs and builds a new EAR file.

24.8.3 Deploying Portlet Producer Applications Using Oracle JDeveloper

You can deploy portlet applications to an Oracle WebLogic Managed Server instance directly from the development environment using Oracle JDeveloper, if you have the necessary credentials to access the WebLogic server. For more information, see the section "Deploying a Portlet Application to an Oracle WebLogic Managed Server Instance" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.

24.8.4 Deploying Portlet Producer Applications Using Fusion Middleware Control

For information about deploying a portlet producer application using Fusion Middleware Control, see Section 7.1.6.4, "Deploying Applications Using Fusion Middleware Control."

24.8.5 Deploying Portlet Producer Applications Using Oracle WebLogic Server Administration Console

For information about deploying a portlet producer application using Oracle WebLogic Server Administration Console, see Section 7.1.6.6, "Deploying Applications Using the WLS Administration Console."

24.8.6 Deploying Portlet Producer Applications Using WLST

For information on deploying a portlet application using the WLST command, see Section 7.1.6.5, "Deploying Applications Using WLST."

24.9 Configuring WebCenter Services Portlets

WebCenter Portal provides social networking and personal productivity features through services, which, in turn, expose subsets of their features and functionality through task flows. These services and task flows are readily available for use in the Spaces application and other WebCenter Portal applications. However, application developers using other products, such as Oracle Portal, Oracle WebLogic Portal, and Oracle WebCenter Interaction, may also want to expose these same features within those applications.

WebCenter Services Portlets is a preconfigured, out-of-the-box producer that enables you to expose WebCenter Portal service task flows to other applications as WSRP portlets or pagelets.

The following task flows are provided as portlets by WebCenter Services Portlets:

  • Document Manager—Displays folders, files, and wikis from the WebCenter Content repository

  • Blogs—Displays blog posts from a selected location in the WebCenter Content repository

  • Discussion Forums—Displays all discussions and their respective replies and enables users to perform various operations based on their privileges

  • Announcements—Displays all current announcements and enables users to perform various operations based on their privileges

  • Lists—Displays user-created lists and provides controls for creating lists and adding list data

  • Polls Manager—Enables users to perform administrative operations on polls

  • Take Polls—Displays the most recently published available poll, or a specific poll identified by the pollId parameter

  • Worklist—Enables users to view and take action on all tasks and notifications from one or more Oracle BPEL Server

  • Mail—Displays a mail inbox

  • Activity Stream—Provides an overview of the most recent activities performed by a user's connections

  • Tag Cloud—Displays a tag cloud, which is a visual depiction of all the tags used on the page

WebCenter Services Portlets starts life as a Framework application. This application includes several pages, one for each of the exposed task flows. The application is then portletized, using the Oracle JSF Portlet Bridge, and deployed to the WC_Portlet managed server.

After installation of WebCenter Portal, WebCenter Services Portlets is automatically available for use. However, for the portlets and pagelets to work correctly there are some configuration steps that must be completed.

This section includes the following subsections:

24.9.1 Configuring Service Back-End Connections

Most of the services included in WebCenter Services Portlets require connections to back-end servers to be fully functional. For example, the Documents service requires a connection to an Oracle WebCenter Content repository and the Discussions and Announcements services require a connection to a discussions server for Oracle WebCenter Portal. These connections must be configured before application developers can start to consume the portlets and pagelets provided by the producer.

This section includes the following subsections:

24.9.1.1 Configuring the Documents Service Content Repository Connection

WebCenter Services Portlets includes portlets for task flows provided by the Documents, Blog, and Wiki services. These portlets require a connection to a back-end WebCenter Content repository.

For general information about configuring WebCenter Content, see Chapter 11, "Managing Content Repositories."

There are two ways to create a connection to a WebCenter Content repository:

Note:

WebCenter Services Portlets uses the WebCenter Content repository identified as the active or default connection, so you must ensure that you have set the appropriate connection as the default. For more information, see Section 11.7, "Changing the Active (or Default) Content Repository Connection."

24.9.1.2 Configuring the Worklist Service Connection

WebCenter Services Portlets includes portlets for the Worklist task flow provided by the Worklist service. The Worklist service requires connections to every Oracle BPEL Server from which you want to monitor worklist items.

For general information about configuring the Oracle BPEL Server and the Worklist service, see Chapter 23, "Managing the Worklist Service."

There are two ways to create a connection to an Oracle BPEL Server:

24.9.1.3 Configuring the Discussions and Announcements Services Connection

WebCenter Services Portlets includes portlets for task flows provided by the Discussions and Announcements services. These services require a connection to a back-end discussions server for Oracle WebCenter Portal. Both services use the same connection. Oracle WebCenter Portal's discussion server is installed automatically with Oracle Fusion Middleware, but you must create the connection to the server.

For general information about configuring the Discussions and Announcements services, see Chapter 14, "Managing the Announcements and Discussions Services."

There are two ways to create a connection to an Oracle WebCenter Portal Discussions server:

Note:

WebCenter Services Portlets uses the discussions server identified as the active or default connection, so you must ensure that you have set the appropriate connection as the default. For more information, see Section 14.4, "Choosing the Active Connection for Discussions and Announcements."

24.9.1.4 Configuring the Mail Service Connection

WebCenter Services Portlets includes portlets for the Mail task flow provided by the Mail service. This service requires a connection to a back-end mail server. This server can be the Microsoft Exchange Server or any mail server that supports IMAP4 and SMTP.

For general information about configuring the Mail service, see Chapter 17, "Managing the Mail Service."

There are two ways to create a connection to your mail server:

Note:

WebCenter Services Portlets uses the mail server identified as the active or default connection, so you must ensure that you have set the appropriate connection as the default. For more information, see Section 17.5, "Choosing the Active (or Default) Mail Server Connection."

24.9.2 Configuring Security for WebCenter Services Portlets

WebCenter Services Portlets should be secured to ensure that users cannot access information that they do not have privileges to access. As a WSRP producer, WebCenter Services Portlets uses WS-Security to ensure identity propagation.

For information about how to configure WS-Security for a WSRP portlet producer, see Section 35.1, "Securing a WSRP Producer."

Note:

After attaching the required security policy, you must restart the WC_Portlet managed server.

24.9.3 Troubleshooting WebCenter Services Portlets

This section includes the following subsections:

24.9.3.1 Rich Text Editor Not Working for Document Manager and Blogs Portlets

Blogs and wikis use a rich text editor (CKEditor) that requires access to various resources at runtime.

If the WebCenter Services Portlets producer is behind a firewall that the end-user browser cannot get through, the URLs for the resources required by CKEditor cannot be accessed and the editor will not display in the Blogs portlet or in the Document Manager portlet when viewing wikis.

To resolve this issue:

  1. Create an application that includes the CKEditor resources, for example by using WebCenter Portal's Framework application template.

  2. Deploy the application to the same server that is used by the application that is consuming WebCenter Services Portlets.

  3. Run the WebCenter Services Portlets producer application.

  4. In the WebCenter Portal Administration Console, edit the Base Resource URL to point to the new application.

    For more information about how to do this, see Section 36.3.5, "Choosing the Default Base Resource URL."

  5. Refresh the browser displaying the consumer application. The rich text editor should now display correctly as the CKEditor resources are available on the same side of the firewall as the consumer application.

24.9.3.2 Cannot Manage Lists in the Lists Portlet

Out of the box, only users who are members of the Administrator role can create, edit, and delete lists and edit list data. If a user is not a member of the Administrator role, he or she will only be able to view lists.

To enable a user who is not a member of the Administrator role to manage lists, use Fusion Middleware Control to assign the user the manage permission on the ListPermission role:

<permission>
  <class>oracle.webcenter.list.model.security.ListPermission</class>
  <name>/oracle/webcenter/list/templates/lists/.*</name>
  <actions>manage</actions>
</permission>
  1. In Fusion Middleware Control, under Application Deployments, right-click the services-producer application and choose Security and then Application Policies from the context menu.

  2. Click Create.

  3. In the Grantee section, click Add.

  4. In the Add Principal dialog, locate the user or role to which you want to add the list permission.

  5. Click OK.

  6. In the Permissions section, click Add.

  7. In the Add Permission dialog, from the Permission Class dropdown list, select oracle.webcenter.list.model.security.ListPermission.

  8. Click the Search system security grants icon.

  9. In the Search Results section, select the Resource Name with the manage Permission Action.

  10. Click Continue.

  11. In the confirmation dialog, click Select to confirm the permission for the target user or role.

  12. Click OK.

24.9.3.3 Portlet Uses Incorrect Time Zone or Date and Time Format

Currently, user preferences are not propagated from the portlet consumer to the WebCenter Services Portlets producer. This means that WebCenter Services Portlets always use the time zone and date and time format preferences set on the server where the producer is deployed, regardless of the settings users specify in the consumer application.

24.9.3.4 Portlet Displays Remote Portlet Communication Error

If a portlet provided by WebCenter Services Portlets displays a Remote Portlet Communication Error, this is typically because the WS-Security was not configured on the producer.

For information about how to resolve this problem, see Section 24.9.2, "Configuring Security for WebCenter Services Portlets."

24.10 Troubleshooting Portlet Producer Issues

This section includes the following sub sections:

24.10.1 Producer Registration Fails for a WebCenter Portal: Framework Application

This section describes producer registration and portlet unavailability issues.

Problem

You are unable to register a WSRP producer.

Solution

Ensure the following:

  • Back-end producer is up and running. To test the producer, access the WSDL URL of the producer through a browser window. See, Section 24.3, "Testing WSRP Producer Connections."

  • Producer application is packaged accurately. If not, then register the producer at design time (in JDeveloper), as described in the section "Registering Portlet Producers with a Framework application" in the chapter "Consuming Portlets" in Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal, and redeploy the application, as described in Section 7.1, "Deploying Framework applications." After redeployment, verify that the packaged application includes the MBean, ProducerManager:

    1. In Fusion Middleware Control, from the Application Deployment menu, select System MBean Browser.

    2. In the Navigator, expand Application Defined MBeans > oracle.webcenter.portlet > Application: application_name > Producer Manager > Producer Manager.

  • PortletServletContextListener is added to the web.xml file.

    For applications that support post deployment registration of producers, the producer must be registered at least once at design time. This adds PortletServletContextListener to the web.xml file, which registers the appropriate runtime MBeans to enable post deployment registration of producers. For example, see the text in bold in the following web.xml snippet:

    <listener>
       <description>
          WebCenter Portlet Context Listener
       </description>
       <display-name>
          WebCenterPortletContextListener
       </display-name>
       <listener-class>
          oracle.webcenter.portlet.listener.PortletServletContextListener
       </listener-class>
    </listener>
    

24.10.2 Portlet Unavailable: WSM-00101 Exception

Setting up the User Name with Password token profile in a WSRP portlet producer throws the exception WSM-00101.

Problem

If you configure the User Name with Password Token profile for a WSRP producer through Fusion Middleware Control (or WLST) while portlets associated with this producer are in use, the portlets display the following exception in the WebCenter Portal application:

oracle.wsm.common.sdk.WSMException: WSM-00101: 
The specified Keystore file
/keys/user_projects/domains/pv_0309/config/fmwconfig/default-keystore.jks
cannot be found; it either does not exist or its path is not included in the application classpath.

Solution

Ensure that you have configured the default keystore in your portlet producer. For information, see Section 35.1.3, "Setting Up the Keystores."