Tuesday, February 14, 2012

How to fetch operational attributes from LDAP

There are some attributes that are used by LDAP to populate the data by it self. These are not fetched by default using context adapter. We need to explicitly mention the attributes that we want to fetch. For this we can simply use the ldapTemplate search method or look up method. It may be better to go with search

ldapTemplate.search(Base,search Criteria, scope, operationalAttrbs[], contextMapper);

Friday, February 10, 2012

OIM Client: Some important methods

Today we had some requirements on creating password policies like for password expire, change password. After going through SPML web services, OIM client proved to e a useful api. It provided all the method for changing password, create user and many more. After creating password policy using OIM design console and applying those policies using usage object tab, it was quite handful to use oim clinet jar to call password reset and many other operations.

Wednesday, October 19, 2011

Some important links @ADF


1) Reusable Components:
http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/reusing_components.htm
http://xmlandmore.blogspot.com/2011/06/reusable-adf-componentsapplication.html
http://andrejusb.blogspot.com/2007/03/reusability-in-oracle-adf-business.html

2) Best Practices:
http://andrejusb.blogspot.com/2009/10/oow09-video-oracle-adf-oracle-fusion.html
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/bestpractice-092568.html

3) Transaction and Data Control Scope options:
http://one-size-doesnt-fit-all.blogspot.com/2011/05/jdev-11g-task-flows-adf-bc-always-use.html
http://one-size-doesnt-fit-all.blogspot.com/2011/05/jdev-11g-task-flows-adf-bc-one-root.html
https://forums.oracle.com/forums/thread.jspa?messageID=9534487

4) Nested App Module To improve Performance:
http://andrejusb.blogspot.com/2010/06/adf-regions-and-nested-application.html
http://andrejusb.blogspot.com/2010/10/how-to-reduce-database-connections-and.html

5) RESTful Web Services:
http://marianne-horsch-adf.blogspot.com/2011/03/how-to-create-restful-web-service-that.html

6) Application Architectures:
http://www.sagecomputing.com.au/papers_presentations/ADF%20Architectural%20Patterns%20-%20LongBeach%20ODTUG%20minus%20pics.pptx

7) Session Timeout Warning:
http://blogs.oracle.com/jdevotnharvest/entry/how-to_enable_user_session_time_out_warning_jdev_11114
https://forums.oracle.com/forums/thread.jspa?threadID=547724
http://one-size-doesnt-fit-all.blogspot.com/2008/08/jdevadf-how-to-log-user.html

Saturday, October 1, 2011

UCM Accounts tab not visible in User Admin applet

To enable accounts , go to Admin Server using the Admin server link in Administration, then click on General Configuration and check Enable Accounts.

Sunday, September 18, 2011

Exceptions While Using Tagging Service @Webcenter

1) Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "T1"."ENTERPRISE_ID": invalid identifier
The reason is clear. The webcenter schema don't have Enterprise_Id column in WC_TAGGING_BOOKMARK table.

Solution: Searched over net but did not find any result. Finally added this column in the tables and the problem resolved.  Not sure whats the role of this column and why its was not present by default.

Tuesday, September 13, 2011

Exceptions While Using RIDC API @ Webcenter


1) Unable to locate authentication handler for Content Server response: HTTP/1.1 502 Bad Gateway
Source breakpoint occurred at line 54 of MyManagedBean.java.
oracle.stellent.ridc.protocol.ProtocolException: java.io.IOException: Input terminated before being able to read line.
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:142)
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:107)
at MyManagedBean.RIDC_CreateFolder(MyManagedBean.java:54)

The code i was using to initialize the connection was:

IdcClientManager manager = new IdcClientManager();
IdcClient idcClient = manager.createClient("http://localhost:4444/idc/idcplg");

The problem resolved by changing the code to:


IdcClientManager manager = new IdcClientManager();
IdcClient idcClient = manager.createClient("idc://localhost:4444");

2) oracle.stellent.ridc.protocol.ServiceException: No service defined for null.
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:135)
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:107)
at MyManagedBean.RIDC_CreateFolder(MyManagedBean.java:54)

Reason: Ohhh....Very silly mistake. Following is the code with error:

dataBinder.putLocal("idcService", "COLLECTION_ADD");

Correct Code:

dataBinder.putLocal("IdcService", "COLLECTION_ADD");


3) oracle.stellent.ridc.protocol.ServiceException: Unable to display virtual folder information. Unable to open folder.
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:135)
at oracle.stellent.ridc.protocol.ServiceResponse.getResponseAsBinder(ServiceResponse.java:107)
at MyManagedBean.getFolderIDFromPath(MyManagedBean.java:165)

Reason: I was specifying only the folder name instead of complete path :)... Ex: RIDCFolder instead of /Contribution Folder/RIDCFolder.... in binder.putLocal ("dCollectionPath", path);


4) This time i was not getting any exception. But there was something wrong. I was trying to upload document, the code was working fine but the document was not uploading. The point to be noted is that there was error in code but i was not getting any exception. Actually, i was not using following code to get the document id of the document i was uploading:

DataBinder serverBinder = res.getResposeAsBinder();
S.O.P(serverBinder.getLocal("dDID"));

I re ran my code with above lines and i got my exception at res.getResposeAsBinder(); So it is important to use above line to ensure that the operation was successful and to save some time.

5) java.lang.RuntimeException: oracle.security.jps.service.idstore.IdentityStoreException: JPS-01520: Cannot initialize identity store.
This exception is is not related to RIDC but i got it suddenly while working. This cause my navigation model to stop working properly. In the logs of UCM managed server i found below exception:


javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://[2001:0:4137:9e76:2c71:1810:854e:e6a5]:9001: Destination unreachable; nested exception is: 
java.net.ConnectException: Connection refused: connect; No available router to destination]


Not sure, resolved it self in next run.

6) File size is to large and can't be uploaded: When using RIDC the default size of document that can be uploaded is 2 MB. In order to increase this limit, we need to make an entry in web.xml file. Under the Application option in Overview tab, expand Context Initialization Parameter and add following parameter:

Name : org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE
Value: The maximum file size in bytes

7) Invalid JCR Name or Path: I am still working on this exception.

Saturday, September 10, 2011

Cannot find FacesContext @ Webcenter

I received java.lang.RuntimeException: Cannot find FacesContext exception when i ran my own login page in webcenter portal application. For configuring refer  Practical Guide for Oracle WebCenter PS3 Security Implementation

The error was because of wrong URL of my login page inside web.xml file. The application is configured with 
form authentication by default. I selected my login page using browse option. The entry in web.xml was 

<form-login-page>/oracle/webcenter/portalapp/pages/MyLoginPage.jspx</form-login-page>

but it worked after changing the URL to 

<form-login-page>/faces/oracle/webcenter/portalapp/pages/MyLoginPage.jspx</form-login-page>