Skip Headers
Oracle® Beehive Integration Guide
Release 2 (2.0.1.8)

Part Number E16650-06
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

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

A Example of a Classification Plug-in Collection File

This appendix contains an example of a classification plug-in collection file for Oracle Information Rights Management (Oracle IRM). This example can be used as a basis for the file that is required to integrate Oracle IRM with Oracle Beehive, as described in Chapter 5, "Integrating Oracle Information Rights Management (Oracle IRM) with Oracle Beehive." Values that must be changed to match the settings of your deployment appear in bold.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2007, 2009, Oracle and/or its affiliates.
        All rights reserved. -->
<core:ClassificationPluginCollection xmlns:core="http://xmlns.oracle.com/irm/core"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:system="http://xmlns.oracle.com/irm/system"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <classificationPlugin>
    <!-- Define the classification system that this plugin is for -->
    <system>
                <uuid>2de4af00-3b14-11de-8a39-0800200c9a66</uuid>
            </system>
            <!-- Define a human readable label for the classification system
                 for diagnostic purposes -->
            <label>
            <locale>en</locale>
            <name>Beehive</name>
            <description>Beehive classification system</description>
    </label>
    <!-- Should this classification system be enabled? -->
    <enabled>true</enabled>
    <!-- The definition describes how the classification system is implemented -->
              <definition>
        <interfaceClass>
           oracle.irm.engine.core.classification.ClassificationServices
        </interfaceClass>
        <resourcePath>/oracle/irm/engine/core/classification/aspects/classes/ClassificationServices.xml
        </resourcePath>
        <!-- The base class section pulls in standard classification system
             functionality -->
        <baseClass>
          <interfaceClass>
             oracle.irm.engine.core.classification.ClassificationServices
          </interfaceClass>
          <resourcePath>
/oracle/irm/engine/core/classification/aspects/classes/ClassificationServices.xml
          </resourcePath>
        </baseClass>
            <!-- Here we pull in all classification system functionality required
                 by this system -->
            <slices>
                <!-- The ClassificationServicesResponse aspect allows us to
                     respond to calls on ClassificationServices with a hard coded
                     response -->
                <implementationClass>
oracle.irm.engine.core.classification.aspects.response.ClassificationServicesResponse
                </implementationClass>
                <!-- The methods state which methods we wish to hard code the
                     response to -->
                <methods>
                   <!-- Construct is required for initialization and should always
                        be included -->
                   <methodClass>
oracle.irm.engine.core.classification.ClassificationServicesSlice
                   </methodClass>
                   <name>construct</name>
                </methods>
                <methods>
                  <methodClass>
oracle.irm.engine.core.classification.ClassificationServicesSlice
                  </methodClass>
                  <name>listContentAttributes</name>
                </methods>
                <!-- InjectionData provides the configuration information
                     containing the hard coded response data -->
                <injectionData>
                    <field>
                       <fieldClass>
oracle.irm.engine.core.classification.aspects.response.ClassificationServicesResponse
                        </fieldClass>
                        <name>responses</name>
                    </field>                
            <data xsi:type="system:MethodResponseCollection"
             xmlns:system="http://xmlns.oracle.com/irm/system">
            <!-- There should be a methodResponse for each hard coded response -->
            <methodResponse>
                <method>
                    <methodClass>
oracle.irm.engine.core.classification.ClassificationServices
                    </methodClass>
                    <name>listContentAttributes</name>
                </method>
                <!-- An empty response is equivalent to null -->                          
                <response xsi:type="core:ClassificationServices_ListContentAttributesResponse"/>
           </methodResponse>
         </data>
       </injectionData>
     </slices>
     <!-- The ClassificationServicesProxy aspect allows us to respond
          to calls on ClassificationServices by calling out to web service -->              
     <slices>
         <implementationClass>
oracle.irm.j2ee.jws.core.classification.ClassificationServicesProxy
         </implementationClass>      
         <!-- By not specifying which methods we are implementing here we are
              saying all methods. Anything not implemented by the response aspect
              will go over the web service. -->
         <!-- InjectionData provides the configuration information 
              containing the web service details -->
         <injectionData> 
             <field>
                 <fieldClass>
oracle.irm.j2ee.jws.core.classification.ClassificationServicesProxy
                 </fieldClass>
                 <name>webServiceProxyContext</name>
              </field>
              <system:WebServiceProxyContext>
                  <!-- Web service endpoint URI -->
                  <endpointAddress>
                      http://beehive.yourcompany.com/bhirm/ClassificationServices
                  </endpointAddress>
                  <!-- Authentication to use with the endpoint -->
                  <authenticationType>NONE</authenticationType>
                  <!-- How long (in seconds) should we wait to connect/for a 
                       response. -1 means infinite wait -->
                  <timeout>-1</timeout>
              </system:WebServiceProxyContext>
            </injectionData>
      </slices>
    </definition>
  </classificationPlugin>
</core:ClassificationPluginCollection>