Custom OVD Plugin 11g
I have created a plugin according the the notes in metalink and the pdf file attached to the metalink note. The problem I'm having is that after upload of my jar the plugin shows up in the libraries correctly as a plugin but when I go to an adapter and assign the plugin to my db adapter it shows up in the list. Then I click Apply so that it will save the change and I get a java.lang.reflect.InvocationTargetException. I have checked the logs and the only thing I can see is after a reboot the logs show that the import statements I used in my jar file are showing up as unresolved compilation errors for all of the imports and the imports are just the com.octetstring and com.asn1c which already exist in the OVD classpath correct? I have tried to include those jar files into my plugin jar at the root of my jar as well as by putting them in a lib folder. I don't know if I'm missing something with regards to my manifest.mf file but it includes the basics from the vde-properties file referenced in the pdf file explaining how to create the plugin. Can anyone help?
Here is the code. I'm not actually doing anything in the code yet I was just trying to get it loaded to prove that I had the jar setup correctly. So I have a series of system.out.s to check values.
package com.octetstring.vde.chain.plugins;
import com.asn1c.core.Bool;
import com.octetstring.vde.Credentials;
import com.octetstring.vde.chain.Chain;
import com.octetstring.vde.chain.ChainException;
import com.octetstring.vde.chain.PluginInit;
import com.octetstring.vde.syntax.BinarySyntax;
import com.octetstring.vde.syntax.DirectoryString;
import com.octetstring.vde.util.DirectoryException;
public class PRCNGAuthenticate extends com.octetstring.vde.chain.BasePlugin{
* Passes initialization information to the Plug-in
* @param initParams
* Hashmap of key/value pairs specified in initial config
* @param name
* The name specified in the config for this Plug-in
public PRCNGAuthenticate() {
super();
* Passes initialization information to the Plug-in
* @param initParams
* Hashmap of key/value pairs specified in initial config
* @param name
* The name specified in the config for this Plug-in
@Override
public void init(PluginInit initParams, String name) throws ChainException {
//the jURL parameter is required
// if (!initParams.containsKey(PRCNGAuthenticate.CONFIG_JDBC_URL)) {
// throw new ChainException(name + ": The "
// + PRCNGAuthenticate.CONFIG_JDBC_URL
// + " attribute is required");
// if (!initParams.containsKey(PRCNGAuthenticate.CONFIG_JDBC_USER)) {
// throw new ChainException(name + ": The "
// + PRCNGAuthenticate.CONFIG_JDBC_USER
// + " attribute is required");
// if (!initParams.containsKey(PRCNGAuthenticate.CONFIG_JDBC_PWD)) {
// throw new ChainException(name + ": The "
// + PRCNGAuthenticate.CONFIG_JDBC_PWD
// + " attribute is required");
// this.jURL = new DirectoryString(initParams
// .get(PRCNGAuthenticate.CONFIG_JDBC_URL));
// this.jUID = new DirectoryString(initParams
// .get(PRCNGAuthenticate.CONFIG_JDBC_USER));
// this.jPWD = new DirectoryString(initParams
// .get(PRCNGAuthenticate.CONFIG_JDBC_PWD));
// System.out.println("jURL"+this.jURL);
}//end of init method
* Determines if a plugin is available for the current chain
* @param chain
* @param base
* @return True or False if available for a particular chain & base
public boolean available(Chain chain, DirectoryString base) {
return true;
}//end of available method
* Moves through the "bind" operation's chain
* @param chain
* The current chain
* @param dn
* The DN for the user
* @param password
* The user's password
* @param result
* The result of the bind
@Override
public void bind(Chain chain, Credentials creds, DirectoryString dn,
BinarySyntax password, Bool result) throws DirectoryException,
ChainException {
System.out.println("CHAIN GETOPTYPE"+chain.getOperationType());
System.out.println("CREDS GETUSER"+creds.getUser().toString());
System.out.println("DN"+dn.toString());
System.out.println("password"+password.toString());
result.setValue(true);
chain.nextBind(creds, dn, password, result);
}//end of bind method
}
Similar Messages
-
OVD plugin to copy data on an ldapmodify command
I've got a requirement to copy data from one OID attribute to another when the first attribute is modified (it gets modified when a user logs into an application with ldap authentication). An Oracle consultant has suggested an OVD plugin as we are using OVD 11g and OID 11g.
Has anybody got an example of a similar OVD plugin?
Thanks for any helpThe version of OVD/OID or the fact that you're using all Oracle products does not matter. There's a detailed example of a custom plugin in OVD 11g doc, also see http://www.oracle.com/technology/sample_code/products/oid/index.html . You can write a similar plugin for OID but I agree that OVD is a better place for this type of customization
-
Unable to login using OAM Custom Authentication Plugin
Hi,
I have a problem with OAM Custom Authentication Plugin, My Plugin is Activate successfully. When try to login from Access Manager SSO login page, it is unable to login. I am getting followiing message in the log file.
I am return ExecutionStatus.SUCCESS from my Java code and I have only one step where I have attached Plugin and my Steps Orchestration is
On Success -> Success
On Failure -> Failure
On Error -> Failure
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:process_creds.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :process_creds with status fail.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:is_resource_protected.
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.AuthzEngineController processEvent
INFO: Processing Event is_resource_protected
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.AuthzEngineController processEvent
INFO: Is Resource Protected status : success
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :is_resource_protected with status success.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:check_valid_session.
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.sso.SSOEngineController processEvent
INFO: Processing Event check_valid_session
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.sso.SSOEngineController processEvent
INFO: Processing Event check_valid_session
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :check_valid_session with status fail.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:process_creds.
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.credcollect.CredCollectEngineController handleProcessCredentials
INFO: Successfully validated the submitted credentials.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :process_creds with status success.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:validate_creds.
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.AuthnEngineController processEvent
INFO: Processing Event validate_creds
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.authn processEvent
INFO: Policy ID : DB User Authentication Scheme
Jun 12, 2013 9:06:22 AM oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl validateUser
INFO: Authentication Scheme Id: DB User Authentication Scheme.
Jun 12, 2013 9:06:22 AM oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl validateUser
INFO: Runtime Authentication Scheme: Scheme name: = DB User Authentication Scheme
Scheme Challenge URL: = http://idmlab.tigerit.com:14100/oam/server/
Scheme Challenge Mec: = FORM
Scheme Challenge Par: = {contextType=default, username=string, contextValue=OAM, password=sercure_string, challenge_url=/pages/login.jsp}
Authentication Module Name: = DB Authentication module
Jun 12, 2013 9:06:22 AM oracle.security.am.engine.authn.internal.executor.AuthenticationSchemeExecutor execute
INFO: Authentication Module Factory Class: DB Authentication module.
Jun 12, 2013 9:06:22 AM oracle.security.am.common.diagnostic.DiagnosticUtil getDynamicPath
INFO: DiagnosticUtil: enetered getDynamicPath
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.common.adapters.OAMLoggerImpl info
INFO: Registering collector at runtime.
Jun 12, 2013 9:06:22 AM oracle.security.am.common.diagnostic.impl.MetricHierarchy getOrCreateCollector
INFO: Collector already exists, reusing existing.
Jun 12, 2013 9:06:22 AM oracle.security.am.common.diagnostic.DiagnosticUtil getDynamicPath
INFO: DiagnosticUtil: enetered getDynamicPath
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.common.adapters.OAMLoggerImpl info
INFO: Registering collector at runtime.
Jun 12, 2013 9:06:22 AM oracle.security.am.common.diagnostic.impl.MetricHierarchy getOrCreateCollector
INFO: Collector: ["PluginPhaseEvent.oracle.security.am.plugin.diagnostic.PluginPhaseEvent@6d6a08fb":" Collector : OAMS/OAM/Plugin/AUTHN/Plugin_SamplePlugin/PluginLocate
Type : PHASE_EVENT
Metrics : 511
LogLevel : OFF
EnableRate : false EnablePersistence : false"], registered at runtime.
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.common.adapters.OAMLoggerImpl info
INFO: Registering collector at runtime.
Jun 12, 2013 9:06:22 AM oracle.security.am.common.diagnostic.impl.MetricHierarchy getOrCreateCollector
INFO: Collector already exists, reusing existing.
User Name: test and Password : test
Authentication Successfull return ExecutionStatus.SUCCESS
Jun 12, 2013 9:06:22 AM oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl validateUser
INFO: Result of Authentication Scheme Execution: false.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :validate_creds with status fail.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:check_authn_retry.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :check_authn_retry with status success.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:cred_collect.
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.credcollect.CredCollectEngineController handleCollectCredentials
INFO: Processing Event cred_collect
Jun 12, 2013 9:06:22 AM oracle.security.am.engines.enginecontroller.credcollect.CredCollectEngineController handleCollectCredentials
INFO: Credential collection process success.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :cred_collect with status success.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:PBL_return.
Jun 12, 2013 9:06:22 AM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :PBL_return with status success.
Can anyone help me regarding this issue.
Thanks
Tamim KhanHi,
Little update about authentication plugin, please see the log file below, Result of Authentication Scheme Execution:true, now but, still the cookie is LOGGEDOUTCONTINUE and still I am unable to login.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.controller.util.BasicCacheHandler sync
INFO: Cache data sync:InProcess for request -414941018507193158;
Jun 19, 2013 1:51:44 PM oracle.security.am.common.controller.util.BasicCacheHandler sync
INFO: Cache data sync:Success for request -414941018507193158;
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:process_creds.
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.enginecontroller.credcollect.CredCollectEngineController handleProcessCredentials
INFO: Successfully validated the submitted credentials.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :process_creds with status success.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:validate_creds.
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.enginecontroller.AuthnEngineController processEvent
INFO: Processing Event validate_creds
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.enginecontroller.authn processEvent
INFO: Policy ID : DB Authentication Scheme
Jun 19, 2013 1:51:44 PM oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl validateUser
INFO: Authentication Scheme Id: DB Authentication Scheme.
Jun 19, 2013 1:51:44 PM oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl validateUser
INFO: Runtime Authentication Scheme: Scheme name: = DB Authentication Scheme
Scheme Challenge URL: = http://idmlab.tigerit.com:14100/oam/server/
Scheme Challenge Mec: = FORM
Scheme Challenge Par: = {contextType=external, username=string, contextValue=/oam, password=sercure_string, challenge_url=http://192.168.1.220:14100/ssologin/ssologin.jsp}
Authentication Module Name: = DB Authentication Module
Jun 19, 2013 1:51:44 PM oracle.security.am.engine.authn.internal.executor.AuthenticationSchemeExecutor execute
INFO: Authentication Module Factory Class: DB Authentication Module.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.diagnostic.DiagnosticUtil getDynamicPath
INFO: DiagnosticUtil: enetered getDynamicPath
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.common.adapters.OAMLoggerImpl info
INFO: Registering collector at runtime.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.diagnostic.impl.MetricHierarchy getOrCreateCollector
INFO: Collector already exists, reusing existing.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.diagnostic.DiagnosticUtil getDynamicPath
INFO: DiagnosticUtil: enetered getDynamicPath
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.common.adapters.OAMLoggerImpl info
INFO: Registering collector at runtime.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.diagnostic.impl.MetricHierarchy getOrCreateCollector
INFO: Collector already exists, reusing existing.
User Name: test and Password : test
Set 1st Responce
Set 2nd Responce
Set 3rd Responce
Setting cookie
Authentication Successfull return ExecutionStatus.SUCCESS
Jun 19, 2013 1:51:44 PM oracle.security.am.common.diagnostic.DiagnosticUtil getDynamicPath
INFO: DiagnosticUtil: enetered getDynamicPath
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.common.adapters.OAMLoggerImpl info
INFO: Registering collector at runtime.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.diagnostic.impl.MetricHierarchy getOrCreateCollector
INFO: Collector already exists, reusing existing.
Jun 19, 2013 1:51:44 PM oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl validateUser
INFO: Result of Authentication Scheme Execution: true.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :validate_creds with status fail.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:check_authn_retry.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :check_authn_retry with status success.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:cred_collect.
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.enginecontroller.credcollect.CredCollectEngineController handleCollectCredentials
INFO: Processing Event cred_collect
Jun 19, 2013 1:51:44 PM oracle.security.am.engines.enginecontroller.credcollect.CredCollectEngineController handleCollectCredentials
INFO: Credential collection process success.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :cred_collect with status success.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: processing Event:PBL_return.
Jun 19, 2013 1:51:44 PM oracle.security.am.controller.MasterController processEvent
INFO: Master Controller: Event processing finished :PBL_return with status success.
Jun 19, 2013 1:51:44 PM oracle.security.am.common.controller.util.BasicCacheHandler sync
INFO: Cache data sync:InProcess for request -414941018507193158;
Jun 19, 2013 1:51:44 PM oracle.security.am.common.controller.util.BasicCacheHandler sync
INFO: Cache data sync:Success for request -414941018507193158;
Can anyone help me please.
Thanks
Tamim Khan -
How to create custom report plugin using child region report metadata
Hi,
I want to ask for help on how to create custom report plugin using child region report metadata. My idea is to create a child region, a classic report and set the condition to never.
Then i will query the child report metadata from apex view and use it to create a custom report like using jquery jq-grid. Any idea how i can create a process that will use the child report
metadata? I dont know how i can create a process just like how apex work, how apex render report, coz i want it to be control using the standard apex report attribute. This plugin will
render according to the child report attribute.
Is there anybody here had ever done this?Hi Nicolette,
Thanks for the reply. I know where to find the metadata, just asking for idea on how the rendering process will be.
Start from determining column heading, column order until finish rendering the report. The same way how apex
render the classic report.
Previously this imy my rendering process:
FUNCTION GETCOLUMN(P_REGION IN APEX_PLUGIN.T_REGION,
P_PLUGIN IN APEX_PLUGIN.T_PLUGIN,
P_VALUE IN VARCHAR2) RETURN SYS.DBMS_SQL.DESC_TAB2 IS
VSQLHANDLER APEX_PLUGIN_UTIL.T_SQL_HANDLER;
VCOLCOUNT NUMBER;
VCOLNAMES VARCHAR2(2000);
VAJAXIDENTIFIER VARCHAR2(100);
VPAGESIZE TYPEATTR := P_REGION.ATTRIBUTE_04;
VJSCODE VARCHAR2(32767);
BEGIN
VSQLHANDLER := APEX_PLUGIN_UTIL.GET_SQL_HANDLER(P_SQL_STATEMENT => 'select * from s_emp',
P_MIN_COLUMNS => 1,
P_MAX_COLUMNS => 999,
P_COMPONENT_NAME => P_REGION.ID);
VCOLCOUNT := VSQLHANDLER.COLUMN_LIST.COUNT();
FOR I IN 1 .. VCOLCOUNT LOOP
VCOLNAMES := VCOLNAMES || '{name: "' ||
UPPER(VSQLHANDLER.COLUMN_LIST(I).COL_NAME) || '",';
END LOOP;
APEX_PLUGIN_UTIL.FREE_SQL_HANDLER(VSQLHANDLER);
RETURN VSQLHANDLER.COLUMN_LIST;
EXCEPTION
WHEN OTHERS THEN
APEX_PLUGIN_UTIL.FREE_SQL_HANDLER(VSQLHANDLER);
RAISE;
END GETCOLUMN;
So this is how i get the header for my report plugin. The same method is use to get the value / data for each column. This process is work. So now
i want to extend my plugin so that i will use all attributes from the child report to render my plugin. So the column header, column order, all will depend
on the child report. And the column display condition is set, it will also check the condition before render the column. Sounds like i want to reinvent
the normal apex rendering process but this is what i want to achieve.
I need help to find the correct logic for my render process. Don't want too much for starting, just want to render the plugin correctly, same with child report,
same columns alias, column ordering and column conditional display.
Thanks,
akulala -
Hey All.
I am writing a simple custom synch plugin for webtools 2007 PL2. I used the sample from the SDK as a guide. WHen I run the synch I get the following errors:
Synch Synching Plugin: FruitCompanySynchPlugin SynchPlugins()
Synch Object reference not set to an instance of an object. SynchPlugins()
FruitCompanySynchPlugin Loading Plugin Plugin Contructor
I am getting messages that I write to the log and I have try catches all over my code that is just displaying a log message in each method. Some where it still throws that exception and I cannot figure out what is going wrong.
How can I debug this>
(I also get the exact same problem when running B1WEBTOOLS2007\SDK\SynchPlugin\SampleProject\ that comes with the SDK)
Anybody else out there have a synch plugin running in webtools 2007?
Message was edited by:
Curtis TraverseHi Curtis,
I have tested the sample and it works in the tester project but is failing in the actual synch. The B1 company is being disconnected by the synch.
As for testing yours, I would suggest using the tester project. You will need to change the references to the InterOp.SAPbobsCOM, NetPoint.API and NetPoint.SynchSBO to reference the copies that your synch is using.
You should be able to step through your code with this.
Message was edited by:
Shane Hart
Message was edited by:
Shane Hart -
Help: Loading custom JCShell plugin
Hi, when I try to register a custom JCShell plugin. I get the following error:
cm> /applet
Nickname AID Plugin
cm A000000003000000 com.ibm.jc.tools.CardManagerPlugin
eclipse 00000000 com.ibm.bluez.jcop.eclipse.internal.ui.views.shell.EclipseShellPlugin
cm> /register dosf A000010203 com.ibm.jc.tools.DosfShell
jcshell: Failed to load plugin <com.ibm.jc.tools.DosfShell>: java.lang.ClassNotFoundException: com.ibm.jc.tools.DosfShellI believe it's not finding the jar file I created with the plugin. I have tried putting in a number of directories, including in the D:\eclipse\plugins\com.ibm.bluez.jcop.eclipse_3.1.2\lib where the offcard.jar is placed.
Help, I am not sure what to try next. Could it be how I created the jar file?
The documentation does not walk through the entire process (i.e. where to place the jar). I've tried their example and same problem.
Here is a snip of the code:
package com.ibm.jc.tools;
import com.ibm.jc.*;
//import com.ibm.jc.tools.JCShellPlugin; got warnings on this not sure why?
public class DosfShell extends com.ibm.jc.tools.JCShellPlugin {
// commands of the plugin
private static String[] cmdNames = {
"sampleCommand",
I am using JCOP 3.1.2 and Eclipse 3.2.1
Thank you for any help.
MaguarHi Maguar,
providing a custom JCShell plugin has been supported by the JCOP-Tools with an own extension point "shellplugins". This extension point is responsible for the integration of individual JCShell plug-in.
The JCShell (JCOP Offcard API) supports registering and activation of individual plug-ins. Such a plug-in, delivered by any provider, must extend the �com.ibm.jc.tools.JCShellPlugin� class.
The custom JCShell-plugin class must be declared in a simple Eclipse plug-in. This plug-in contains only a source folder with this Java class (there are no requirements for the package name).
Add the JCOP-Tools Eclipse plug-in to the required plug-ins in the manifest of your plug-in.
Add an extension for the extension point "com.ibm.bluez.jcop.eclipse.shellplugins" to the manifest of your plug-in. The entry in the plugin.xml should look like this:
<plugin>
<extension
point="com.ibm.bluez.jcop.eclipse.shellplugins">
<shellplugin
class="com.ibm.jcop.test.MyShellPlugin"/>
</extension>
</plugin>It is important that the extension point declares exactly the class file for the extended JCShell plug-in.
Configure the plug-in build so, that the class file is part of an internal JAR file.
Start your Eclipse IDE and install this new Eclipse plug-in . Register your applet in the JCShell, select your applet and display the help. Now you will find the command �sample-cmd� in your command list. -
Custom Sync Plugin Sample for Web Tools 2007
Hello,
Does anyone have a sample Custom Sync Plugin that works for Web Tools 2007? I have been unable to get the sample provided working, actually cannot even compile it, and was just curious if there was a simple sample that worked that I could use as my base. Please let me know.
Thank you,
KristenHi Shawn,
Yes, I am using Visual Studio 2005 Professional with the .Net 2.0 framework and 2007. However, most of the methods are not there, and things seem to have changed drastically, however the sample is still referencing the old. Is there something that I am missing?
Please let me know.
Thanks,
Kristen -
Hey All,
Can anyone tell me where the examples and documentation are now for writing custom synch plugins? I cannot find it with the ramp up files that I downloaded from the support center.Thanks Shawn,
Also where I can find the latest API documents? I have the ones for 5.96 but not 2007. -
Approach for importing new versions of a Custom OAM11g plugin
Hi, what is the best approach for importing new versions of a Custom OAM11g plugin during development phase.
It is important to have a short cycle on : coding, build, deploy (import), test.
Is there a howto or best practise on this?
Regards,
BertHi,
If the .js file is uploaded to a Document Library, you can let this developer open this Document Library through Windows Explorer by using the “Open with Explorer” feature in
the ribbon:
Then this developer will be able to edit this .js file just like what we can do to a file stores in a local drive.
After editing, save, the original .js file will be overwritten.
More information about Open with Explorer:
http://office.microsoft.com/en-in/sharepoint-foundation-help/copy-or-move-library-files-by-using-open-with-explorer-HA101811182.aspx
Best regards,
Patrick
Patrick Liang
TechNet Community Support -
I have a db adapter with users in a table. Their passwords are md5 hashes in a mapped field to userPassword. Without any plugins just default behavior the only way I can login as a user in this space is to use the md5 hash as the entered password from my LDAP client. Can you modify a password (take entered password and md5 it) then allow it to attempt to login with the modified password? I have successfully created and ran a bind plugin that takes the password and does md5 it successful as evidenced by my logging (I have a known md5 hash for the password and verify that my code reproduces that md5). I have tried to convert the md5 into a BinarySyntax and simply call chain.nextBind() with the correct params
byte[] bArray=String.valueOf(md5).getBytes();
BinarySyntax bSyntax=new BinarySyntax(bArray);
chain.nextBind(creds, dn, bSyntax, result);
The issue is I don't have any more bind plugins other than my custom one and when the md5 (after putting into the BinarySyntax format) is used the chain.nextBind call it fails. Do I need to do a chain.getVSI and do something with it there or what am I missing?You don't need to chain it to next bind if it is successful, so if your md5 hash matches, you just set the result to true. If it doesn't match, you can either set it to false or chain it to the next bind and let another plugin have a go.
-
Exception while running custom scheduler OIM 11g R1
I have OIM 11g R1 installed on win 32 platform, and am getting the following exception while running the custom scheduler: Samplescheduledtask
<Jan 12, 2013 7:37:13 PM IST> <Warning> <oracle.iam.scheduler.impl> <BEA-000000>
<XSD Validation Exception: org.xml.sax.SAXParseException: cvc-elt.1: Cannot fin
d the declaration of element 'scheduledTasks'.>
<Jan 12, 2013 7:37:13 PM IST> <Warning> <oracle.iam.scheduler.impl> <BEA-000000>
<XSD Validation Exception: org.xml.sax.SAXParseException: cvc-elt.1: Cannot fin
d the declaration of element 'scheduledTasks'.>
<Jan 12, 2013 7:37:13 PM IST> <Warning> <oracle.iam.scheduler.impl> <BEA-000000>
<XSD Validation Exception: org.xml.sax.SAXParseException: cvc-elt.1: Cannot fin
d the declaration of element 'scheduledTasks'.>
<Jan 12, 2013 7:37:13 PM IST> <Warning> <oracle.iam.scheduler.impl> <BEA-000000>
<XSD Validation Exception: org.xml.sax.SAXParseException: cvc-elt.1: Cannot fin
d the declaration of element 'scheduledTasks'.>
<Jan 12, 2013 7:37:13 PM IST> <Warning> <oracle.iam.scheduler.impl> <BEA-000000>
<XSD Validation Exception: org.xml.sax.SAXParseException: cvc-elt.1: Cannot fin
d the declaration of element 'scheduledTasks'.>
<Jan 12, 2013 7:37:13 PM IST> <Warning> <oracle.iam.scheduler.impl> <BEA-000000>
<XSD Validation Exception: org.xml.sax.SAXParseException: cvc-elt.1: Cannot fin
d the declaration of element 'scheduledTasks'.>
java.lang.ClassNotFoundException: ADP ClassLoader failed to load: oracle.iam.sam
ple.scheduledtask.SampleScheduledTask
at com.thortech.xl.dataobj.tcADPClassLoader.findClass(tcADPClassLoader.j
ava:219)
at oracle.iam.transUI.impl.CustomTaskLoaderImpl.getClassInstance(CustomT
askLoaderImpl.java:12)
at oracle.iam.scheduler.impl.quartz.QuartzJob.execute(QuartzJob.java:146
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j
ava:529)
java.lang.ClassNotFoundException: ADP ClassLoader failed to load: oracle.iam.sam
ple.scheduledtask.SampleScheduledTask
at com.thortech.xl.dataobj.tcADPClassLoader.findClass(tcADPClassLoader.j
ava:219)
at oracle.iam.transUI.impl.CustomTaskLoaderImpl.getClassInstance(CustomT
askLoaderImpl.java:12)
at oracle.iam.scheduler.impl.quartz.QuartzJob.execute(QuartzJob.java:146
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j
ava:529)
java.lang.ClassNotFoundException: ADP ClassLoader failed to load: oracle.iam.sam
ple.scheduledtask.SampleScheduledTask
at com.thortech.xl.dataobj.tcADPClassLoader.findClass(tcADPClassLoader.j
ava:219)
at oracle.iam.transUI.impl.CustomTaskLoaderImpl.getClassInstance(CustomT
askLoaderImpl.java:12)
at oracle.iam.scheduler.impl.quartz.QuartzJob.execute(QuartzJob.java:146
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.j
ava:529)
Following is the code of the custom scheduler:
package oracle.iam.sample.scheduledtask;
import java.util.HashMap;
import oracle.iam.scheduler.vo.TaskSupport;
public class SampleScheduledTask extends TaskSupport {
public void execute(HashMap hashMap) throws Exception {
// Display a message when this scheduled task is run
System.out.println("Running the OIM Sample Scheduled Task...");
public HashMap getAttributes() {
return null;
public void setAttributes() {
kindly suggest......
Regards,
KK
Edited by: 958122 on Jan 12, 2013 11:38 PMHi,
Please use the below commands to register the plugin:
set the environment variable ORACLE_HOME, OIM_ORACLE_HOME, ANT_HOME,JAVA_HOME,MW_HOME and execute
$ORACLE_HOME/server/plugin_utility/ant -f pluginregistration.xml register
and provide the necessary input.
$ORACLE_HOME/server/bin/PurgeCache.sh All
and provide the necessary input
Restart the OIM managed server
http://docs.oracle.com/cd/E21764_01/doc.1111/e14309/plugins.htm#CHDHECGH
Regards,
Sunny -
OVD plugin to correct malformed bindDN
My customer is dealing with a badly behaving off-the-self LDAP client that only accepts the a search base as a parameter. You can't specify a bindDN. So when this client tries to authenticate a user it takes the supplied credential (i.e. samaccountname) and prepends it to the search base. The whole step of searching the directory for the user and retrieving the DN for authentication is skipped. So the "search base" is not really a search base and is used to hard code the right hand portion of the DN and just adding the samaccountname as the RDN. This might work if the users where all in one location...but they're not.
So the customer is looking at using their OVD service to translate this. OVD would have to take the DN supplied, grab the RDN from it, search the backend AD then then do a bind with the returned DN from the search.
They don't want to spend too much time developing a custom plug-in to do this is this temporary measure during an AD migration.
1) Is there an out-of-the-box plugin that can be used? I don't think so from looking through the documents, but I'd like to make sure.
2) Would this be a difficult plug-in to write and would anyone have something I can start with?
Regards,
ChrisHi Chris,
It might be simplest to configure an adapter with a base DN specific to this client application, separate from your normal tree. For example, the base DN of the adapter with the FlatTree plugin could be "DC=flattened,DC=company,DC=com", while your other adapters are under "DC=company,DC=com". That way the other applications would not be affected by the plugin configuration needed for this specific client.
Thanks,
Matt -
URGENT help required : Custom Authentication Plugin for validation of users
Hi Experts.
I'm a newbie and am stuck in middle of nowhere.
I have been asked to develop a custom authentication plug-in which would validate a user using the attributes such as a userid and a shared-userid.
shared-userid is just a custom id that would be generated on the basis of some logic.
Currently I'm using OAM 10.1.4.3.0 on WINDOWS server and as everybody, I'm also not able to find any sample files or sample folder structure.
As per one of the other threads https://forums.oracle.com/forums/thread.jspa?messageID=3838474, sample code and sample folders are removed from this particular version and were present in some previous version.
So, can anyone please help me out with the following:
1. How can I proceed to accomplish this task, i.e. to check whether a user-id and a shared-userid both are validated and a user is granted access.
2. Are all of these files required to create a custom authentication plug-in or can we proceed only with the ".c" file (i.e. make file, authn.c, and a dll file made using the make file and .c file)
3. Can anybody provide me with a sample file or a sample code written in "C" wherein the plug-in connects to the LDAP and searches for a particular dn for comparison or something. Also a sample make file for windows to convert the .c file to .dll.
PLEASEEEE help me ASAP.
Regards
Edited by: 805912 on Nov 15, 2011 7:18 PMHi,
Regarding question 2, you also need the header file is supplied in the Access Server installation directory, under ...access\oblix\sdk\authn_api and is called authn_api.h. you need this to build the dll which must then be placed in the Access Server's ...\access\oblix\lib directory.
Regarding question 3, if you install an earlier version of the Access Server, ie 10.1.4.2 or less, then you will get a \access\oblix\sdk\authentication\samples\authn_api directory that contains a basic sample authentication plugin. However, there is still documented in the 10.1.4.3 Developer Guide another sample plugin, simplapi.c, in the 10.1.4.3 Developer Guide with instructions on how to use it. It does work, but unfortunately requires a couple of edits to get it working after copy&pasting it (no code changes, just fairly obvious case changes eg changing ObanPlugin* to ObAnPlugin*). I used the following commands to get it to compile into a .so file on unix:
g++44 -c -fPIC -Wno-deprecated -m32 simpleapi.c
g++44 -shared -nostdlib -lc -m32 simpleapi.o -o simpleapi.so
but I really would not know if or how these translate into a Windows environment.
Regards,
Colin
Edited by: ColinPurdon on Nov 15, 2011 2:50 PM -
Save As & Open Dialog Window for some documents hangs when custom VSTO plugin is installed
Hello,
I have created a VSTO application which uploads a word document to Document Management Server. The problem is not with this plugin, but after the plugin is installed, for certain documents when user makes some modification to the document and clicks on File
-> Save As or File ->Open, the Save As/Open Dialog window, does not show up and the Word application will be hung (spinning) as it should do if the Save As dialog window would have been shown. The only option is then to kill the WinWord process
from Task Manager. When I kill the WinWord process from task manager, I see the Save As Dialog window appear for a split second before the WinWord Process shuts down.
If I uninstall the VSTO application, everything works fine.
Details on the application:
Target Framework: .NET Framework 4
Platform Target: x86
OS (Developer and End User): Windows 7 Enterprise SP1 64 bit
Microsoft Office: Microsoft Office Professional Plus 2010 Version: 14.0.6129.5000 (32-bit)
Help!!
Regards,
YogeshHi Eugene,
Thanks for your reply.
Yes I have tried an empty add-in project as well. Added a label to the ribbon and displayed a static text. I am able to reproduce the issue with this add-in as well. The issue is only reproducable if I deploy the add-in using a setup and deployment project.
While building the project, Visual Studio installs the add-in by default. If I open the problematic documents with the "developement" version of the add-in installed, it seems to be working fine.
Regards,
Yogesh
Hello,
>>Yes I have tried an empty add-in project as well. Added a label to the ribbon and displayed a static text. I am able to reproduce the issue with this add-in as well.
The issue is only reproducable if I deploy the add-in using a setup and deployment project.
Since it could be reproduced if you deploy any add-in with a setup project, it seems this issue may be related to the your environment.
It will be helpful if you could share the following information with us.
The configuration about that setup project and your add-in.
Whether your user account has admin privilege or not.
To narrow down this issue, you could consider installing that add-in with setup project in a clean machine.
If it could reproduce this issue, then we could focus on that setup project instead.
If not, then we'd better focus on your environment to narrow down this issue.
Regards,
Carl
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
I have a task where I need to implement Plugin that signs, does revocation check and timestamps PDF document. Currently I am investigating DocSign example that came with SDK.
I know that Acrobat Reader users can't sign doduments unless the document that is presented to Reader is 'enabled' for signing in Reader. Can this setting be changed programmaticaly in Reader ? If yes, what API call I need to investigate....
Also I am wondering whether default security library (Adobe.PPklite) is able to do revocation checking through OCSP or do I really need to implement a Plugin of my own ? I need to do forced revocation check. When signing document with my custom plugin I need to set up flags for this purpose, right ?
Also I am wondering in what API call I need to bring up UI that shows Windows cert store certs ?No, you can't change Reader to sign any document. It can only sign those that are enabled. If your customers need to sign ANY PDF, then they need to purchase Acrobat.
Yes, Acrobat & Reader support both CRL and OCSP revocation checking for signatures that are created with the appropriate filters. Validation will take these things into account and you can ask Acrobat (via APIs) to validate a single signature or all signatures on a document and retrieve the results.
I would read the Windows SDK documentation for how to work with it...
Maybe you are looking for
-
I've been experiencing freezes and gray screen at startup problems on the MBP for a while and I'm at a loss as to what to do next. Here's what I've done so far: Run memtest, Drive Genius Disk Check for bad sectors and extended Apple Hardware Test - a
-
The share operation master file has failed error -1
I can not export. I keep getting this message. Can anyone help me? I am running Final Cut Pro X.
-
Setting up Push/Microsoft Exchange. Typing in password spam - help!
Hi, Just set up my 3GS to my companies Microsoft Exchange, and it works like a charm. Only problem is: I got a rather long and tricky password, and every time I lock the phone and later want to unlock it, it asks for the password!! Isen't there some
-
I all, I did a upgrade last Sunday (mainly for xorg) and after that, I cannot "su". Details: starting kde session with regular user (example, john). Open a konsole, and I cannot su even to myself, "su john"). "su" asks me for a passord, but no matter
-
Applet for EJB on Orcale application server
I developed Oracle Application server deployed EJB. Then I developed Applet client for that EJB. Everything works fine when I use applet viewer for that applet. But when I try to do same from the Netscape (4.7) or IE5 problems occurs. First I try net