Thursday, October 21, 2010

IBY_0001 Communication error

Our application team was trying to setup ipayment application using cybersource payment gateway solution and they reported that they encountered the following error:

IBY_0001 Communication error


Upon investigation, we found the following:

In zone.properties, following is the configuration defined for cybersource servlet. At the time of initialization, the oacore jvm uses these initialization arguments to init the servlet.

servlet.oramipp_cys.initArgs=cybsconfigfile=/usrs/cybadm/tsqc/config.xml,cybsmapfile=/usrs/cybadm/tsqc/mapping.xml

In the oacore jvm logs ($IAS_CONFIG_HOME/Apache/Jserv/logs/jvm/OACoreGroup.0.stderr / stdout), I found the following error recorded:


: XML-0108: (Fatal Error) Start of root element expected.
com.cybersource.client.integration.foundation.exception.ConfigurationException: The file {0} is missing or unreadable.at com.cybersource.client.integration.foundation.ServiceRegistry.checkFileReadability ServiceRegistry.java:315)
at com.cybersource.client.integration.foundation.ServiceRegistry.registerXMLConfigManager(ServiceRegistry.java:65)
at com.cybersource.client.integration.iPayment.oramipp_cys.init(oramipp_cys.java:50)
at org.apache.jserv.JServServletManager.load_init(JServServletManager.java:755)
at org.apache.jserv.JServServletManager.loadServlet(JServServletManager.java:659)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:394)
at org.apache.jserv.JServConnection.run(JServConnection.java:294)
at java.lang.Thread.run(Thread.java:479)


The reason why it failed was because oacore process was not able to access the cybersource config files.


/usrs> ls -ltr /usrs/cybadm/tsqc/config.xml

ls: /usrs/cybadm/tsqc/config.xml: Permission denied


For security purposes, the files related to payment gateway are owned by user called cybadm and read only permissions are given to the members of the group cyb.

Now, the oacore process is owned by apps file system owner (oatsqc) and this user was not added to cyb group.

We added oatsqc user to cyb group and then bounced oacore to overcome this issue.

- Aravind Kamath Posral

Tuesday, October 5, 2010

Getting Blank Page when accessing AppsLocalLogin.jsp

Recently, we were reported that the user was unable to login to an R12 instance.
The environment was an R12 bulit on database 11gR2 and it was integrated with SSO as well.


Issue Description:
Getting a blank page after entering the login credentials at the SSO page when accessing the application URL.


Symptoms:
We tried first to check if the application was working fine without having to go through the SSO and hence we tried the AppsLocalLogin.jsp page (http://deif.isc.com:8043/OA_HTML/AppsLocalLogin.jsp). The link was leading to a blank page.
Nextly, When we tried the logging to the application through SSO (http://deif.isc.com:8043/OA_HTML/AppsLogin), the SSO page was loading and we were able to enter the login credentials and after that it was again giving a blank page. When we looked at the browser URL we again found that the it was pointing to the AppsLocalLogin.jsp after we authenticate against the SSO


Troubleshooting Steps:
Firstly, we tried to check the services and found it all to be up and running.
Nextly we turned to the access and error logs for the HTTP_Server and found no hints in there.
We also tried to recompile the jsp using the ojspcompile.pl (perl $FND_TOP/bin/ojspcompile.jsp --compile --flush --p 2)
But this also did not help.


We check to find if any invalids objects were present in the database and found that no new invalids were present.


Then further looking into the logs, we found the below error in the oacore log (application.log) at location
$LOG_HOME/ora/10.1.3/j2ee/oacore/oacore_default_group_
10/10/04 01:57:06.314 html: chain failed javax.servlet.ServletException: java.lang.RuntimeException: Unable to create user session. Please contact your System Administrator.
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.EvermindPageContext.handlePageThrowable EvermindPageContext.java:899) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.EvermindPageContext.handlePageException EvermindPageContext.java:816)
at _AppsLocalLogin._jspService(_AppsLocalLogin.java:303)
at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.5.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:473)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)



This prompted us to check alert log which had these errors recorded
ORA-1653: unable to extend table ICX.ICX_SESSIONS by 16 in tablespace APPS_DATA
Mon Oct 04 02:21:33 2010


It turned out to be a tablespace issue. Whenever a login process happens it is recorded in the ICX_SESSIONS table as GUEST user is making a connection when the AppsLocalLogin.jsp pages gets loaded even before it asks for the login credentials. Once the login credentials is made a record is made in the table against the user id used to login.


Once we added the space to the tablespace in problem here, the page AppsLocalLogin.jsp loaded without issues and were able to login.


- Tanveer Madan