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

No comments: