21 Managing Portlet Producers

This chapter describes how to register, edit, delete, and deploy portlet producers.

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.12, "Oracle WebCenter Administration Tools."

21.1 What You Should Know About Portlet Producers

Consider the following while working with portlet producers:

  • Several out-of-the-box producers are provided with Oracle WebCenter: OmniPortlet, Web Clipping, Rich Text Portlet, and WSRP Tools. The following EAR files are packaged with Oracle WebCenter:

    • portalTools.ear - OmniPortlet and Web Clipping

    • wsrp-tools.ear - Rich Text Portlets and WSRP Tools

    You can install the portalTools.ear and wsrp-tools.ear files using the registerOOTBProducers WLST command. For command syntax and examples, see "registerOOTBProducers" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

  • Before users can add JSR 168 or Oracle PDK-Java portlets to a page, you must register the owning WSRP and Oracle PDK-Java producers. See also, "registerSampleProducers" in Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

  • The Oracle Portlet Producer product (server) must be installed in the production environment and the wsrp-tools and portalTools URLs must be accessible. If the Oracle Portlet Producer is not installed, see the section "Extending an Existing Domain" in the Oracle Fusion Middleware Installation Guide for Oracle WebCenter to install it in the production environment.

  • When you create a connection to a portlet producer, the producer gets registered with the WebCenter application and the connection is added to the connections.xml file during registration. For WRSP producers, a Web service connection is also created, which follows the naming convention, connectionname-wsconn. For Oracle PDK-Java producers, an underlying URL connection is created, which follows the naming convention, connectionname-urlconn. During the registration, the connection metadata is created in the MDS and in the producer being registered. When a producer is consumed, the user customizations are saved to the producer. During de-registration the producer connection and customizations are removed.

  • All post deployment connection configuration is stored in the Oracle Metadata Services (MDS) repository. For more information, see Section 1.3.5, "Oracle WebCenter Configuration Considerations." For detailed information about MDS, see the chapter "Managing the Oracle Metadata Repository" in the Oracle Fusion Middleware Administrator's Guide.

  • Portlet producer registration is dynamic. New portlet producers and updates to existing producers are immediately available; it is not necessary to restart the WebCenter application or the managed server.

  • To migrate producers from one instance to another, use the migration utilities described in the appendix "Portlet Preference Store Migration Utilities" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

  • For information on securing portlet producers, see Section 23.8.5, "Securing a WSRP Producer with WS-Security" and Section 23.9, "Securing a PDK-Java Producer."

21.2 Registering WSRP Producers

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

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

21.2.1 Registering a WSRP Producer Using Fusion Middleware Control

To register a WSRP portlet producer:

  1. Login to Fusion Middleware Control and navigate to the home page for your custom WebCenter application (or WebCenter Spaces). For more information, see:

  2. Do one of the following:

    • For custom WebCenter applications - From the Application Deployment menu, choose WebCenter > Register Producer.

    • For WebCenter Spaces - From the WebCenter menu, choose Register Producer.

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

    For detailed parameter information, see Table 21-1.

    Table 21-1 WSRP Producer Connection Parameters

    Field Description

    Connection Name

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

    The name you specify here appears in the Oracle 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 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 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 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 address for 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 design time operations. For example, the maximum time the producer may take to register, deregister, or display portlets on WebCenter pages.

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

    This default is 30 seconds.


  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 application. WebCenter Spaces supports three types of security tokens: Username Tokens Without Password, Username Tokens With Password, and SAML Tokens.

    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 profiles. For other WSRP containers, check with the specific vendor to determine the token formats they support.

    For detailed parameter information, see Table 21-2.

    Table 21-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:

    • None—No security on this connection. If you select None, no WS-Security header is attached to the SOAP message.

    • 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.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.

      When you select this policy, you must also specify the Recipient Alias.

    • WSS 1.0 Username 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 Basic128 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 must define an external application pertaining to the producer and associate the external application with this producer. The external application defined here is used to retrieve and propagate the user credentials to the producer. The producer verifies this against the identity store configured for the external application.

      When you select this policy, you must also specify the Recipient Alias.

    Token Profile (cont.)

    • WSS 1.0 Username 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 Basic128 suite of asymmetric key technologies. Specifically, RSA key mechanisms for message confidentiality, SHA-1 hashing algorithm for message integrity, and AES-128 bit encryption.

      When you select this policy, you must also specify the Recipient Alias.

    • 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 Basic128 suite of asymmetric key technologies for endorsing signatures.

    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, WSS1.0 SAML Token With Message Protection, WSS 1.0 SAML Token, and 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 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 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 WSRP producer must be configured with strict-authentication to support anonymous to a default user mapping. The strict-authentication flag is defined in the producer's oracle-portlet.xml file. For more information, see the appendix "oracle-portlet.xml Syntax" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

    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 Username With Password. The external application stores and supplies the user credentials. See also Section 22.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.

    For detailed parameter information, see Table 21-3.

    Table 21-3 WSRP Producer Key Store Connection Parameters

    Field Description

    Store Type

    The keystore type for this producer—always Java Key Store (jks).

    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 should 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 to use for encryption.

    Encryption Key Password

    Enter the password for accessing the encryption key.

    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.


  6. Click OK.

    The new producer appears in the connection table.

21.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 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.12.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

21.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

21.4 Registering Oracle PDK-Java Producers

This section describes how to register PDK-Java producers using Fusion Middleware Control and WLST commands. This section includes the following subsections:

For information about how to register PDK-Java producers 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.

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

To register an Oracle PDK-Java portlet producer:

  1. Login to Fusion Middleware Control and navigate to the home page for your custom WebCenter application (or WebCenter Spaces):

  2. Do one of the following:

    • For custom WebCenter applications - From the Application Deployment menu, choose WebCenter > Register Producer.

    • For WebCenter Spaces - From the WebCenter menu, choose Register Producer.

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

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

    Table 21-4 Oracle PDK-Java Producer Connection Parameters

    Field Description

    Connection Name

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

    The name you specify here appears in the Oracle 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.us.oracle.com:7778/axyz/providers

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

    http://domain.us.oracle.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 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 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 for 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, select Associate Producer with an External Application, and then select the relevant external application from the dropdown list. See also Section 22.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 design time operations. For example, the maximum time the producer may take to register, deregister, or display portlets on WebCenter 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 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.

21.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 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.12.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

21.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.us.oracle.com:7778/axyz/providers/sample

21.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 have made while working with WebCenter applications, you must also migrate producer customizations and personalizations to the producer's new location. Use WLST commands exportProducerMetadata and importProducerMetadata to migrate portlet client metadata to a different location. For more information, see Section 25.2.3, "Exporting Portlet Client Metadata (Custom WebCenter Applications)" and Section 25.2.4, "Importing Portlet Client Metadata (Custom WebCenter 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 25.1.3.15, "Exporting Portlet Producers" and Section 25.1.3.16, "Importing Portlet Producers."

This section includes the following subsections:

21.6.1 Editing Producer Registration Details Using Fusion Middleware Control

To update connection details for a portlet producer:

  1. Login to Fusion Middleware Control and navigate to the home page for your custom WebCenter application (or WebCenter Spaces):

  2. Do one of the following:

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

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

  3. From the list of services on the WebCenter 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.

21.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.12.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

21.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. Before importing the producer metadata, you must deregister the existing producer and then reregister the producer with the new URL endpoint. If you do not reregister the producer, "Portlet Unavailable" messages display in your WebCenter application.

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. Use Fusion Middleware Control or the WLST command deregisterWSRPProducer to remove the existing producer connection, and the producer's metadata, from the WebCenter application. For more information, see Section 21.7, "Deregistering Producers."

  4. Use Fusion Middleware Control or the WLST command registerWSRPProducer to reregister the WSRP producer with the same name but the new WSDL URL. For more information, see Section 21.2, "Registering WSRP Producers."

  5. 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.

21.7 Deregistering Producers

You can deregister producers at any time but, before doing so, consider any impact to the WebCenter 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 24.2, "Viewing Performance Information."

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

  • WebCenter 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 application pages. In place of the portlet, WebCenter 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 22.5, "Deleting External Application Connections."

This section includes the following subsections:

21.7.1 Deregistering Producers Using Fusion Middleware Control

To deregister a portlet producer:

  1. Login to Fusion Middleware Control and navigate to the home page for your custom WebCenter application (or WebCenter Spaces):

  2. Do one of the following:

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

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

  3. From the list of services on the WebCenter 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 application.

21.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:

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.12.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands."

21.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 through Oracle JDeveloper, see the chapter "Testing and Deploying Your Portlets" in the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

This section includes the following subsections:

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

21.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 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.12, "Oracle WebCenter Administration Tools."

21.8.2 Converting a JSR 168 Portlet Producer EAR File into a WSRP EAR File

To deploy JSR 168 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 168 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 168 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 168 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 168 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.

21.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.

21.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.4.2, "Deploying Applications Using Fusion Middleware Control."

21.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.4.4, "Deploying Applications Using the WLS Administration Console."

21.8.6 Deploying Portlet Applications Using WLST

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

21.9 Troubleshooting Portlet Producer Issues

This section includes the following sub sections:

21.9.1 Producer Registration Fails for a Custom WebCenter 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 21.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 WebCenter Application" in the chapter "Consuming Portlets" in Oracle Fusion Middleware Developer's Guide for Oracle WebCenter, and redeploy the application, as described in Section 7.1, "Deploying Custom WebCenter 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>
    

21.9.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 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 23.8.5.3, "Setting Up the Keystores."