OVD custom Bind plugin

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.

Similar Messages

  • OVD Custom LDAP Bind Plugin

    I need to build a java plug-in for ovd in order to implement a custom ldap bind operation. In my case I am using ovd database adapter to expose a legacy hr application as a ldap directory but the legacy hr application uses the php crypto() function to store a DES hash based version of the end user password into a database table. Any help is more than appreciated.

    i was abe to implement the custom bind plug-in using the following documentation
    http://www.oracle.com/technetwork/middleware/id-mgmt/virtual-directory-custom-plugins-wp-188785.pdf
    http://docs.oracle.com/cd/E21764_01/oid.1111/e10046/adv_cust.htm#CEGJCFGE
    Custom Plug-in Code
    package br.gov.funasa.siarh.vde;
    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.syntax.BinarySyntax;
    import com.octetstring.vde.syntax.DirectoryString;
    import com.octetstring.vde.util.DirectoryException;
    public class CustomBindPlugin extends com.octetstring.vde.chain.BasePlugin {
    public CustomBindPlugin() {
    super();
    public void bind(Chain chain, Credentials creds, DirectoryString dn,
    BinarySyntax password, Bool result) throws DirectoryException,
    ChainException {
    //TO DO: Add equivalent code to check the password using the legacy hr application custom hash algorithm
    result.setValue(true);
    vde-properties.txt file that must be appended in MANIFEST.MF Jar file
    vde-package-classname: br.gov.funasa.siarh.vde.CustomBindPlugin
    vde-package-type: 0
    vde-package-version: 1
    vde-package-description: Custom bind for Siarh tha uses DES to check the user password
    vde-package-name: SiarhCustomBindPlugin
    vde-package-ops-add: false
    vde-package-ops-delete: false
    vde-package-ops-bind: true
    vde-package-ops-modify: false
    vde-package-ops-rename: false
    vde-package-ops-get: false

  • Problem in reading a string back which was stored using custom binding.

    Hi All,
    i use below codes to do custom binding
    public class CSVRecord {    
    private String key;
    /** To keep how many values we have for a key.
    * This is used to retrive values' element during constructing CSVRecord object back from stream.
    private int valuesSize;
    * to keep values for a key
    private String[] values;
    public CSVRecord()
    public CSVRecord(String key, String[] values)
    this.key = key;
    this.values = values;
    this.valuesSize = this.values.length;
    public String getKey() {
    return key;
    public void setKey(String key) {
    this.key = key;
    public String[] getValues() {
    return values;
    public void setValues(String[] values) {
    this.values = values;
    public int getValuesSize() {
    return valuesSize;
    TupleBiniding code:
    public class CSVRecordTupleBinding extends TupleBinding {
    public void objectToEntry(Object object , TupleOutput tupleOutput)
    CSVRecord record = (CSVRecord)object;
    tupleOutput.writeString(record.getKey());
    tupleOutput.writeInt(record.getValuesSize());
    for(int i=0;i<record.getValuesSize();i++)
    tupleOutput.writeString(record.getValues());
    public Object entryToObject(TupleInput tupleInput) {
    <font color="red"> String key = tupleInput.readString(); </font> <br>
    int valuesSize = tupleInput.readInt();
    String[] values = new String[valuesSize];
    for(int i=0;i<valuesSize;i++)
    values[i] = tupleInput.readString();
    return new CSVRecord(key,values);
    But when i reconstruct an object using cusom binding i face below exceptions
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 8
         at com.sleepycat.util.UtfOps.getZeroTerminatedByteLength(UtfOps.java:38)
         at com.sleepycat.bind.tuple.TupleInput.readString(TupleInput.java:150)
         at com.ml.odr.regression.comparison.CSVRecordTupleBinding.entryToObject(CSVRecordTupleBinding.java:30)
         at com.sleepycat.bind.tuple.TupleBinding.entryToObject(TupleBinding.java:73)
    This is especially happens at the line where i read the key back.
    could you please advise ?.
    Thanks,
    Srini

    Hi Srini,
    I don't see anything obviously wrong with the code you posted, except perhaps that the setter, setValues, does not update valuesSize -- you really don't need the valuesSize field, you can use the array length instead.
    There must be something wrong elsewhere in your program. Please post a complete test program, that has a main() and can be run with only the JE jar file, that demonstrates the problem.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

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

    Hi,
    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

  • Adding more than one custom binding to the same page

    Hi guys,
    JHeadstart 11.1.1.3.35
    How can I add two custom bindings to the same page ? I have 2 graphs on the same page (in tabbed regions).
    My FORM_GRAPH template for the first one is
    #macro (CUSTOM_BINDING1)
        <graph IterBinding="ActiveVisitsIterator" id="SubjectsActiveVisitsGraph" xmlns="http://xmlns.oracle.com/adfm/dvt" type="BAR_VERT_STACK">
          <graphDataMap leafOnly="true">
            <series>
              <data>
                <item value="Active"/>
                <item value="Inactive"/>
              </data>
            </series>
            <groups>
              <item value="VisitNo"/>
            </groups>
          </graphDataMap>
        </graph>
    #end
    ${JHS.pageDefGenerator.addBinding($JHS.page,"JhsUsers","#CUSTOM_BINDING1()")}
    <dvt:barGraph id="barGraph1" value="#{bindings.SubjectsActiveVisitsGraph.graphModel}" subType="BAR_VERT_STACK"
                                        threeDEffect="true" animationOnDisplay="AUTO" seriesRolloverBehavior="RB_HIGHLIGHT">
                            <dvt:background>
                              <dvt:specialEffects/>
                            </dvt:background>
                            <dvt:graphPlotArea/>
                            <dvt:seriesSet>
                              <dvt:series/>
                            </dvt:seriesSet>
                            <dvt:o1Axis/>
                            <dvt:y1Axis/>
                            <dvt:legendArea automaticPlacement="AP_NEVER"/>
                            <dvt:graphTitle text="Subject Status"/>
                            <dvt:o1Title text="Visit"/>
                            <dvt:y1Title text="Number of Subjects"/>
                          </dvt:barGraph>and for my second
    #macro (CUSTOM_BINDING2)
        <graph IterBinding="SiteActiveVistsIterator" id="SitesActiveVistsGraph" xmlns="http://xmlns.oracle.com/adfm/dvt" type="BAR_VERT_STACK">
          <graphDataMap leafOnly="true">
            <series>
              <data>
                <item value="Active"/>
                <item value="Inactive"/>
              </data>
            </series>
            <groups>
              <item value="VisitNo"/>
            </groups>
          </graphDataMap>
        </graph>
    #end
    ${JHS.pageDefGenerator.addBinding($JHS.page,"JhsUsers","#CUSTOM_BINDING2()")}
    <dvt:barGraph id="barGraph2" value="#{bindings.SitesActiveVistsGraph.graphModel}" subType="BAR_VERT_STACK"
                                                        threeDEffect="true" animationOnDisplay="AUTO" seriesRolloverBehavior="RB_HIGHLIGHT">
                                            <dvt:background>
                                              <dvt:specialEffects/>
                                            </dvt:background>
                                            <dvt:graphPlotArea/>
                                            <dvt:seriesSet>
                                              <dvt:series/>
                                            </dvt:seriesSet>
                                            <dvt:o1Axis/>
                                            <dvt:y1Axis/>
                                            <dvt:legendArea automaticPlacement="AP_NEVER"/>
                                            <dvt:graphTitle text="Site Summary"/>
                                            <dvt:o1Title text="Visit"/>
                                            <dvt:y1Title text="Number of Subjects"/>
                                          </dvt:barGraph>but only the first binding is being added to the page def ? I tried putting both graph bindings in the first custom binding but on generation I get an error "Error while parsing XML for page definition element JhsUsers: Expected 'EOF'." (although the code in the binding macro is exactly the same as in the pagedef when added manually ?
    How can I add both of these graph bindings ?
    Cheers,
    Brent

    Brent,
    In the statement
    ${JHS.pageDefGenerator.addBinding($JHS.page,"JhsUsers","#CUSTOM_BINDING2()")}
    the second argument should be the id of the binding you want to add. You use twice "JhsUsers" as id for the binding.
    This id should be the same id as used in your XML page snippet, so for the first binding it should be "SubjectsActiveVisitsGraph" and for the second binding it should be "SitesActiveVistsGraph"
    Steven Davelaar,
    Jheadstart Team.

  • Search method with Custom Bind

    Hi,
    I´m using the Custom Bind in may aplication, when I need find some entity by an specific attribute (not by the key attribute) I need get all register of some database and stop the iteration when the find parameter is equals the atribute at entity. There are a better method than this?

    Hi Mircea,
    I know that Berkeley DB does not have a query
    language, such as SQL. Would it be difficult for
    someone to add a subset of SQL on top of
    BDB-JavaEdition(mainly SELECTS and JOINS, without any
    SQL index definition) and have BDB integrated with
    SQL-based reporting tools?This is certainly possible and I think it would be quite useful. We have discussed this but it is not in our immediate plans. I don't know exactly how difficult it would be, but by reducing the scope to a limited form of SELECT, just enough to support the reporting tools, it seems like a manageable project.
    Of course, you would need an SQL processor that could be adapted -- one that is implemented in Java. I have not searched, but I assume there are such open-source components available.
    The SQL processor must be able to map table names to JE databases. To access columns it must be able to un-marshal the data in BDB records, i.e., understand the data format. Some thoughts on this:
    - SQL Table names could be mapped to database names, or with the DPL, to Java class names.
    - SQL Column names could be mapped to Javabean properties (getters) or fields, and the properties or fields would be accessed after converting a JE record to a Java object.
    - Not all data stored in a JE record can be mapped to SQL columns, since any data type may be stored in a JE record. The SQL query would be limited to querying those fields with SQL-compatible data types.
    - If not using the DPL, the SQL query processor must know how to obtain bindings for each database, and use them to convert JE records to Java objects. Perhaps the class name of the bindings could be configured in advance. Or, if using the DPL, then the use of bindings is automatic.
    - In general, requiring use of the DPL would simplify the project. But ideally, it would work with the DPL or without it.
    If you are serious about implementing something like this, we would be happy to support you.
    Mark

  • ADF custom binding for given service data model

    hi
    I have this business service that has a given data model. I would like to bind ADF Faces components to this data model.
    two examples:
    (1) The data model has a date attribute somewhere that holds the date of when something has been "checked"/"approved". The user interface should present this information as a regular checkbox.
    (2) The data model has some attribute as "multilingual text". It is like a regular text attribute, but the text (data) has been translated. The user interface should present this information as a regular text input field, but depending on some "selected"/"current" language.
    I looked at this example from Steve Muench about custom binding:
    http://otn.oracle.com/products/jdev/tips/muench/custombinding/CustomAttrBindingClass.zip
    I have found some "solution" to implement the kinds of custom binding I need:
    http://verveja.footsteps.be/~verveja/files/oracle/CustomBindingStuff-v0.08.zip
    (Check the README.txt file.)
    I extend JUCtrlAttrsDef and JUCtrlAttrsBinding, introduce a ConversionProxyRule interface and added meta-data to the <x>PageDef.xml files.
    JDeveloper shows warnings like these in the "Compiler - Log", but it all seems to work fine:
    Warning(55,62): <Line 55, Column 62>: XML-24534: (Error) Element 'NamedData' not expected.- questions:
    (1) Do I really need all this, have I missed some typical approach for this?
    (2) How do I now that "extending" the binding this way, doesn't break in the next JDeveloper release?
    (3) What alternatives are there to approach this kind of "binding requirements"?
    many thanks
    Jan Vervecken

    (1) Is the simplest overall and the solution I myself would do, but given your comments....
    (2) This would be the second easiest, but would involve some delegation, sure.
    (3) Involves creating custom binding objects, which while possible, we don't have much documentation on that
    JDeveloper shows warnings like these in the "Compiler - Log", but it all seems to work fine: Warning(55,62): <Line 55, Column 62>: XML-24534: (Error) Element 'NamedData' not expected.
    This is an XMLSchema validation failure since the schema for the <attributeValues> element in that namespace does not allow <NamedData> children, only the <action> element does. You can extract all the schemas from the adfdt_common.jar file in the ./adfdt/lib directory to have a closer look at that.
    - questions:
    (1) Do I really need all this, have I missed some typical approach for this?
    I mentioned a straightforward approach that in my opinion doesn't qualify as radically altering your data model, but I respect your opinion to see that differently of course. :-)
    The approach I mentioned would be the typical approach for this case.
    (2) How do I now that "extending" the binding this way, doesn't break in the next JDeveloper release?
    There is no 100% guarantee other than the fact that we try our best not to perform breaking changes since keeping upward compatibility is something we've tried to do since the beginning.
    (3) What alternatives are there to approach this kind of "binding requirements"?
    We've discussed the three alternatives above that I can think of. This doesn't preclude others, but those are the first three we both thought of... I hope others chime in with some insights based on there experiences, too.

  • Custom synch plugin error

    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 Traverse

    Hi 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.
    Maguar

    Hi 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,
    Kristen

    Hi 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

  • Custom Synch plugin 2007

    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,
    Bert

    Hi,
    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

  • OID bind plugin

    Hi,
    Please help me to find a plugin for OID binding.

    Plugin for what? Or I will ask you different way. What needs the plugin?

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

    Hi,
    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

Maybe you are looking for

  • DVD drive died - l need to reinstall XP Satellite A105

    Hi everyone, My wife went on vacation to Hawaii, and while she was gone, her Satellite A105 (no longer under warranty with a dead DVD drive) started malfunctioning to the point where XP where freeze on boot. I tried everything I could but it wouldn't

  • Error while refreshing bqy file on workspace using stored procedure

    Hi, I am using stored procedure which returns ref-cursor. The report is running fine locally but on Workspace, while refresh, it gives the following error. An Interactive Reporting Service error has occurred.-SQL API: [SQLNumResultCols], SQL RETURN:

  • How to fetch data from an internal table by comparing the a value in loop

    i have an internale table with two fields like parvw and vtext. acc to valuue in parvw in loop we sholud fetch the corresponding value of vtext. we should not use loop in loop . ex code select parvw vtext from tpart into table i_vtext where spras = s

  • Roles not listed in the navigation

    Hi Im using xMII v 11.5..  In navigation when i tried to assign navigation tree to the roles.. The roles that i have created are not listed... I use the advised java version and the system has only MII installed in it.. when I open content.. it gives

  • Inverting and outputing a finite pulse train

    I am using a PCI-6602 card and labview to generate 4 digital finite pulse trains (2MHz to 6MHz range) to be sent to a amplifiing circuit that will drive transducers.  I have a VI based on a finite pulse train sample VI I found, but the driver require