Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Web Services Manager
11g (11.1.1)

E10689-01


oracle.wsm.policyimport.compatibility
Class PolicyCompatibilityChecker

java.lang.Object
  extended by oracle.wsm.policyimport.compatibility.PolicyCompatibilityChecker


public class PolicyCompatibilityChecker
extends Object

This class is responsible for checking if the Client Side Policies associated with a Policy Subject are compatible with the Server Side Policies associated with the same Policy Subject.

. Design
The basic algorithm is as follows
Input:
1) WSDL with Server Side Policies
2) Sca Reference Binding Node/Policy Subject representing the client
3) Policies attached to Sca Reference Binding Node/Policy Subject

Output:
4) PolicyCompatibilityResult - where the results of the Policy Compatibility check are captures

Algorithm
1) Construct PolicySet based on Sca Reference Binding Node and List of Policies
Output: PolicySet
2) Call Advertisement Engine for Advertising of Client Side Policies
Output: Advertisement Context - which contains the following Maps
Policy Map: <PolicyId, Policy>
Policy Attachment Map:
3) Merge Client Side Policies for each WSDL Policy Subject
(ex: The Reference binding node points to a WSDL Port , so the relevant policy subjects are
a) Port,
b) binding associated with that Port,
c) all operations that are part of the binding
d) input, output, faults for each operation in the binding

Result.1: A Map containing <WSDL Policy Subject, The Merged Policy For The WSDL Policy Subject>
4) Merging of Server side Policies attached in WSDL
a)Identify the WSDL Port pointed to by the Reference/Binding port attribute
b)For each WSDL Policy Subject identify all the Policies attached to that Subject either through PolicyReference or directly as a Policy.
c)Merge All Policies for each WSDL Policy Subject

Result.2: A Map containing <WSDL Policy Subject, The Merged Policy For The WSDL Policy Subject>
5) Intersect the Merged Client Policy and the Server Policy for each WSDL Policy Subject
Take the two Maps (*Result.1 and Result.2*) and for each WSDL Subject, intersect the Merged Policy for that Subject.

Result.3: Map containing <WSDLPolicySubject, IntersectedPolicy>
If the Intersected Policy does not have any alternatives thus resulting in policy compatibility failure, then add the WSDL Policy Subject Fragment and the IIntersectionContext

Author:
pyamuna

Constructor Summary
PolicyCompatibilityChecker()
           

 

Method Summary
 void checkCompatibility(javax.wsdl.Definition def1, javax.wsdl.Definition def2, IPolicyCompatibilityResultInternal result)
          Checks the policy compatibility btw two WSDLs
 void checkCompatibility(javax.wsdl.Definition def, Element scaReferenceBindingNode, List<IPolicy> policies, Map<String,String> configuration, IPolicyCompatibilityResultInternal result)
          Checks if the client side policies attached to a SCA Composite Reference/binding is compatible with the Server Side Policies.
 void checkCompatibility(javax.wsdl.Definition def, IPolicySubject polSubj, List<IPolicy> policies, Map<String,String> configuration, IPolicyCompatibilityResultInternal result)
          Checks if the client side policies attached to a SCA Composite Reference/binding is compatible with the Server Side Policies.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

PolicyCompatibilityChecker

public PolicyCompatibilityChecker()

Method Detail

checkCompatibility

public void checkCompatibility(javax.wsdl.Definition def,
                               Element scaReferenceBindingNode,
                               List<IPolicy> policies,
                               Map<String,String> configuration,
                               IPolicyCompatibilityResultInternal result)
                        throws CompatibilityCheckException
Checks if the client side policies attached to a SCA Composite Reference/binding is compatible with the Server Side Policies. If the client side policies are compatible with Server side policies, the system does not indicate which alternatives are compatible. The system currently does not support a mechanism to return the location of compatibility failure and the reason for the failures or the how these failures can be fixed.
Parameters:
def - the WSDL Definition
scaReferenceBindingNode - - The SCA Reference Binding that has policy references to the client side Policies
policies - - List of Policies attached to the SCA Reference/binding node
configuration - - configuration that indicates whether ADVERTISEMENT LEVEL is INTEROP (?wsdl) or ORACLE (?orawsdl)
result - - captures the results of the compatibility check.
Throws:
CompatibilityCheckException

checkCompatibility

public void checkCompatibility(javax.wsdl.Definition def,
                               IPolicySubject polSubj,
                               List<IPolicy> policies,
                               Map<String,String> configuration,
                               IPolicyCompatibilityResultInternal result)
                        throws CompatibilityCheckException
Checks if the client side policies attached to a SCA Composite Reference/binding is compatible with the Server Side Policies. If the client side policies are compatible with Server side policies, the system does not indicate which alternatives are compatible. The system currently does not support a mechanism to return the location of compatibility failure and the reason for the failures or the how these failures can be fixed.
Parameters:
def - the WSDL Definition
scaReferenceBindingNode - - The SCA Reference Binding that has policy references to the client side Policies
policies - - List of Policies attached to the SCA Reference/binding node
configuration - - configuration that indicates whether ADVERTISEMENT LEVEL is INTEROP (?wsdl) or ORACLE (?orawsdl)
result - - captures the results of the policy compatibility check
Throws:
CompatibilityCheckException

checkCompatibility

public void checkCompatibility(javax.wsdl.Definition def1,
                               javax.wsdl.Definition def2,
                               IPolicyCompatibilityResultInternal result)
                        throws CompatibilityCheckException
Checks the policy compatibility btw two WSDLs
Parameters:
def1 - - First WSDL containing Policies
def2 - - Second WSDL containing Policies
result - - the results of the Policy Incompatibility that need to be populated.
Throws:
CompatibilityCheckException - CompatibilityCheckException can be thrown due to a variety of reasons including if the WSDL Policy Subjects for which the compatibility check is to be performed are themselves incompatible, etc.

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Web Services Manager
11g (11.1.1)

E10689-01


Copyright © 2007, 2009, Oracle and/or its affiliates. All rights reserved.