Wednesday 28 October 2015

LDAP data records iteration issue ( exceed limit error)

if getting this error during data records iterations from ldap by using TDI tool So can use this code in TDI for reseting connection then again TDI will continue the connection flow.
this error comes due to only configured exceed limit on LDAP. 

Use in Before initilaize hooks-

if (typeof(cnt) == "undefined") {
        // this is the first time so cnt is undefined. Init to 0.
        cnt = 0;
        // pageSize must be < the sizelimit
        pageSize = 100;
        // get the LDAP Connector interface
        cnctr = thisConnector.getConnector();
        // start by searching all
        cnctr.setParam("ldapSearchFilter","uid=*");
}

Use in After get next hooks -


// append "." to make it > than current value
uid = conn.getString("uid") + ".";
// increment cnt and test it
if (++cnt > pageSize) {
        // reset cnt
        cnt = 0;
        // debug display message (remove if you want)
        task.logmsg("...restart next time for uid >= " + uid);
        // with Startup = On Config Change, this forces re-init
        cnctr.setParam("ldapSearchFilter", "uid>="+uid);
}

adding suffix yyyymmdd (filename_20151028.csv) in format through shell script.

Adding date suffix in a file by using shell script mentioned  syntax...
 
       current_time=`date '+%Y%m%d'`  // get date in yyyymmdd format
        index=`echo "${#i}-4" | bc`        // here i is variable contains file name
        fileName=${i:0:$index}             // adding defined index
        extension=${i:$index}     
        echo $extension                             // printing extension

Thursday 22 October 2015

Tuesday 20 October 2015

TDI Default Server is not coming up on port 1099 & 1098


As I understood, I have been kill the running service on port 1099 & 1098 but still TDI default server is not coming up.


here is the error.
2015-10-20 17:13:12,777 INFO [server] - CTGDIS232I Server is running in standard mode.

2015-10-20 17:13:13,121 INFO [server] - CTGDIS236I The stash file has been successfully read.

2015-10-20 17:13:13,121 INFO [server] - CTGDIS237I The key password is not present in the stash file. The keystore password will be used.

2015-10-20 17:13:13,141 INFO [server] - CTGDIS238I Server security has been successfully initialized.

2015-10-20 17:13:13,445 INFO [com.ibm.di.api] - CTGDKD445I Custom method invocation is set to false.

2015-10-20 17:13:13,554 ERROR [com.ibm.di.api] - CTGDKD019E Could not create RMI Registry:: java.rmi.server.ExportException: Listen failed on port: 1099; nested exception is:

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

2015-10-20 17:13:13,567 ERROR [server] - CTGDIS206W An error has occurred on Remote Server API initalization: com.ibm.di.api.DIException: CTGDKD019E Could not create RMI Registry:: Listen failed on port: 1099; nested exception is:

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

com.ibm.di.api.DIException: CTGDKD019E Could not create RMI Registry:: Listen failed on port: 1099; nested exception is:

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

at com.ibm.di.api.APIEngine.logErrorAndThrowException(APIEngine.java:1223)

at com.ibm.di.api.APIEngine.initRMIRegistry(APIEngine.java:1295)

at com.ibm.di.api.APIEngine.initializeRemote(APIEngine.java:699)

at com.ibm.di.server.RS.initializeAPIEngine(RS.java:701)

at com.ibm.di.server.RS.runMaster(RS.java:2299)

at com.ibm.di.server.RS.run(RS.java:2077)

at com.ibm.di.server.RS.main(RS.java:637)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

at java.lang.reflect.Method.invoke(Method.java:600)

at com.ibm.di.loader.ServerLauncher.startServer(ServerLauncher.java:173)

at com.ibm.di.loader.ServerLauncher.main(ServerLauncher.java:79)

2015-10-20 17:13:13,977 INFO [server] - CTGDIS232I Server is running in standard mode.


quick suggestion will highly appreciated...!!


Solution found :- First of all check the host file of the machine on which TDI server is installed because manually I had entered ip address in host file so that's why local system was unable to reach the actual assigned ip address.
Secondly port was conflicting due to running multiple running java process after ending process default TDI Server come up , now its working fine , thanks

"Resource is out of sync with file system:/TDIServers/Default.tdiserver" Error is fixed

Here is small fix for TDI resource out of sync Error

"Resource is out of sync with file system:/TDIServers/Default.tdiserver"

Steps :- Launch TDI --Select window --Select Preference --Gernel--workspace--Check Refresh automatically--Apply--ok

Tx:
Arvind

Wednesday 14 October 2015

Rename files though TDI hooks

Renaming files from TDI by using this script in hooks


var Name1 =system.getExternalProperty("File1"); 
var Name2 = system.getExternalProperty("File2");
try {
      var ReadFile = new java.io.File(Name1);
      //read last created file
      if(ReadFile.length()>0) {
       //task.logmsg ("%%%%%%%Epilog: newfile: "+ReadFile);
        system.renameFile(Name1, Name2);
      }
}
catch (e) {
      task.logmsg(e.toString());
}

TDI Coding and Concept URL

Return date in csv file

Returning date in csv file during data flow from ldap to csv and map the date attribute in output mapping flow in connector

now = new java.util.Date();  //declare variable
ret.value = system.formatDate(now, "ddMMyyyy"); // return date

Tivoli Identity manager Product Launch Year.

    TIM Version                                                       Product Launch Year

1 )  TIM V 4.5                                                        --  2004
2 ) TIM V4.6                                                         --  2005
3 )  TIM Express V4.6                                          -- 2006
4 ) TIM For z/OS V4.6                                         -- 2007
5 ) TIM "Quick start Tools"                                 -- 2007
6 ) TIM v5.0                                                         -- 2007 in Between 2008
7 ) TIM V5.1                                                        -- 2008 +
8 ) ISIM 6.0                                                          --2012
 

Tuesday 13 October 2015

SDI Configuration launcher fix.

Facing below mentioned error during SDI Configuration editor launching.
and SDI product installed on centos Virtual machine

1 ) Default.tdisedrver has encounter problem
    java.io.ioexception cant run programe
    /opt/IBM/TDI/V7.1/ibmdisrv (in directory /root/TDI error:2 no such file or directory

I had already uninstalled TDI V7.1 and removed all installer and workspace data from VM but still the same error is occurring.


2 )  Might be product throwing this error due to some parameter missing from TDI GUI properties file , share the parameter if have the details .


VM terminated. Exit code=1
/opt/IBM/TDI/V7.2/jvm/jre/bin/javaw
-Dcom.ibm.di.loader.IDILoader.path=/opt/IBM/TDI/V7.2
-jar /opt/IBM/TDI/V7.2/ce/eclipsece/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /opt/IBM/TDI/V7.2/ce/eclipsece/miadmin
-name Miadmin
--launcher.library /opt/IBM/TDI/V7.2/ce/eclipsece/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807/eclipse_1502.so
-startup /opt/IBM/TDI/V7.2/ce/eclipsece/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.overrideVmargs
-exitdata 12f800c
-vm /opt/IBM/TDI/V7.2/jvm/jre/bin/javaw
-vmargs
-Dcom.ibm.di.loader.IDILoader.path=/opt/IBM/TDI/V7.2
-jar /opt/IBM/TDI/V7.2/ce/eclipsece/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar


Support will greatly appreciated if We have some alternate solution for resolving this issue.



Friday 9 October 2015

IAM (Identity & Access management goals )

Organizations are choosing to embark on a security initiative entitled Identity and Access Management (IAM) to address several business needs and requirements.

Basically here are IAM Goals below

1 ) Improve User Experience :-
  • ids and password management
  • quick access to applications
  • more quick assistance for password reset ... etc.
  • less load to approve and provisioning of users 
2 ) Improve Efficiency :-
  • automation of account creation, suspension and deletion.. etc.
  • enables faster productivity for business
  • reduce cost and manual workload
  • easy adoption of process changes
3 ) Reduce Risk :-
  • Control access granted else deny
  • access correction quickly
  • manage privacy and security
  • workflow enables process for approval
4 ) Control Lifecycle :-
  • Centrally control provisioning access as per policies
  • enable data governance
  • improve efficiency , reliability and effectiveness for reports and audits