Show TOC

Calling Java EE Applications from Portal ApplicationsLocate this document in the navigation structure

Use

Portal applications can access Java EE applications, such as EJBs and servlets, as follows:

  1. Specify the reference.

    The reference is defined in portalapp.xml either in PrivateSharingReference or PublicSharingReference using the Java EE application prefix SAPJ2EE:: .

                      <property name="PrivateSharingReference" value="SAPJ2EE::sap.com/Hello"/>
                   
  2. Access the application.

    The application is accessed via JNDI. The following is an example of a portal component accessing an EJB.

                      public void doContent(
                         IPortalComponentRequest request,
                         IPortalComponentResponse response) {
                         String key = "Hello/Stateless/HelloStatelessBean";
                       
                         try {
                            Context context = new InitialContext();
                       
                            Object obj = context.lookup(key);
                            HelloHome home =
                               (HelloHome) P4ObjectBroker.init().narrow(obj, HelloHome.class);
                            Hello hello = home.create();
                            response.write("Bean message: " + hello.getMessage());
                   

Referencing Elements

You can reference an application, connector, library, interface or service by specifying the Java EE object in the portalapp.xml , either in the SharingReference or PrivateSharingReference property. Whether you should use SharingReference or PrivateSharingReference depends on your purpose:

  • If the referenced application, library or service has to be used in the API of the portal application, use the SharingReference .

  • If the reference is for the core of the portal application, use PrivateSharingReference .

The format of the Java EE object in the SharingReference or PrivateSharingReference property is as follows:

  • Application: SAPJ2EE::<provider name/application name>

  • Connector: SAPJ2EE::<provider name/connector name>

  • Service: SAPJ2EE::service:<service name>

  • Library: SAPJ2EE::library:<library name>

  • Interface: SAPJ2EE::interface::<interface name>

Note

The format includes the provider name for an application or connector, but not for services, libraries and interfaces.

The provider name is separated from the application name by slash ( / ).

If the provider is not SAP ( sap.com ), then you must add the provider name to the deployment.supportedProviders property in SAP NetWeaver Administrator, as described in Configuring the Portal Runtime Properties .

For more information on sharing references, see Application Configuration .

Example

This is an example of a portal application referencing the Java EE application sap.com/Hello , the AS Java service P4 and the library TestLibrary . The references are specified in PrivateSharingReference . This means that the references are established between the core of the portal application and the referenced application, service and library.

               <application>
                       <application-config>
                               <property name="SharingReference" value=""/>
                               <property name="PrivateSharingReference" value="SAPJ2EE::sap.com/Hello,
                                              SAPJ2EE::service:p4,SAPJ2EE::library:TestLibrary"/>
                       </application-config>
               </application>