Showing posts with label atg. Show all posts
Showing posts with label atg. Show all posts

Jul 27, 2016

Error Starting Dyn Admin on Prod. ( java.io.IOException: Cannot run program "javac")

Error

Error : The detailed exception is: java.io.IOException: Cannot run program "javac": CreateProcess error=206, The filename or extension is too long
atg.servlet.pagecompile.jsp11.JSPPageProcessor.javaToClass(JSPPageProcessor.java:421) [_DAS_slib_sclasses.jar:]

APPLIES TO:

Oracle Commerce Platform - Version 9.4 and later
Information in this document applies to any platform.

CAUSE

Above error is Java compiler error, where java compiler fails to compile.

SOLUTION

1. Follow the steps in sequence
  • Go to location "servers/atg_config/local_prod1a_cbsbuild/localconfig/atg/dynamo/servlet" in your code base.
  • Add folder pagecompile under servlet.
  • Add two files with name "ExtendedJhtmlPageProcessor.properties" and "PageProcessor.properties"
  • In Extend file add following code snippet
    $class = atg.servlet.pagecompile.jsp11.JSPPageProcessor
    javaCompilerClassName=atg.servlet.pagecompile.SunJavaSourceCompiler 
  • In PageProcessor.properties add following code
    javaCompilerClassName=atg.servlet.pagecompile.SunJavaSourceCompiler
  • Build your project again and restart the server.

java.io.StreamCorruptedException: unexpected block data

Error

We were getting below error when we try to start the ACC in our local VM
java.io.StreamCorruptedException: unexpected block data
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1364)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at atg.core.util.UnsynchronizedHashtable.readObject(UnsynchronizedHashtable.java:623)
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream

APPLIES TO:

Oracle Commerce Platform - Version 9.4 and later
Information in this document applies to any platform.


Cause

Some of the SQLrepositories were modified with custom properties descriptors and ACC is not able to find them while start up.

SOLUTION

Please configure the application module with the following entries in the module's MANIFEST.MF file:
ATG-Client-Class-Path: A listing of the jar files that will added to the ACC client's classpath
Name: The filename of each jar file entry in the ATG-Client-Class-Path that needs to be downloaded
ATG-Client-Update-File: A true or false flag whether or not the filename should be downloaded by the ACC
ATG-Client-Update-Version: Optional version string used to force the ACC to update the specified filename
If you see the MANIFEST.MF file in PCIencryption module and it doesn't have the above entry. So please add the below 3 entries in the MANIFEST.MF file of PCIencryption Module.
ATG-Client-Class-Path: bin/
Name: bin/
ATG-Client-Update-File: true
ATG-Version is not required.  Do a build and start the server and try to access ACC through script or dyn/admin . You should be able to access it.

May 20, 2016

Not able to access User / Profile Repository in ACC

Error

java.io.StreamCorruptedException: unexpected block data
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1364)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)



APPLIES TO:

Oracle Commerce Platform - Version 9.4 and later
Information in this document applies to any platform.


Cause

This error is because your particular Repository in ACC is not able to find particular class to load the properties of the xml.


e.g when you click on Users or Orders in ACC, above error appears in front of you.


Solution


So the solution is , find out if there are any external classes used for your repository. In my case pci encryption was used to encrypt password in UserProfile.xml and ACC was not able to locate that class when loading the particular repository.

So Add following lines in pci encryption module :

Go to encryption module MANIFEST.MF file

Add line ATG-Client-Class-Path: bin/ config/config.jar lib/classes.jar

Build project wit ANT and restart the server.

Cheers!!!

May 19, 2016

How to migrate Production / Stage Endeca App to Local Environemnt ?

Data Migration Needs

As per ATG-Endeca Integration, All product catalog data gets stored in Endeca CAS record store during baseline process. Sometimes, these data needs to be migrated from Production to UAT or UAT to Dev.

APPLIES TO

Oracle Commerce Platform - Version 10.2 and later
Information in this document applies to any platform.

Solution

Export Data from Environment - Production

1. Identify record store names to be migrated.


Navigate to CAS Installation directory and list the record stores
/CAS/<>/bin->./component-manager-cmd.sh list-components
CRS_en_dimvals
CRS_en_data
CRS_en_schema

2. Identify if there are any active-transactions or not

/CAS/<>/bin->
./recordstore-cmd.sh list-active-transactions -a CRS_en_dimvals
./recordstore-cmd.sh list-active-transactions -a CRS_en_data
./recordstore-cmd.sh list-active-transactions -a CRS_en_schema

3. Fetch the current record store configuration

/CAS/<>/bin->

./recordstore-cmd.sh get-configuration -a CRS_en_dimvals -f CRS_en_dimvals.xml
./recordstore-cmd.sh get-configuration -a CRS_en_data -f CRS_en_data.xml
./recordstore-cmd.sh get-configuration -a CRS_en_schema -f CRS_en_schema.xml

4. Read data from record store and write into XML files

/CAS/<>/bin-> 
./recordstore-cmd.sh read-baseline -a CRS_en_dimvals -f data_CRS_en_dimvals.xml
./recordstore-cmd.sh read-baseline -a CRS_en_schema -f data_CRS_en_schema.xml
./recordstore-cmd.sh read-baseline -a CRS_en_data -f data_CRS_en_data.xml



Import Data with schema to enviornment -UAT

1. Set the CAS record Store Configuration using step 3 during import process

/CAS/<>/bin-> 
recordstore-cmd.bat set-configuration -a CRS_en_dimvals -f CRS_en_dimvals.xml
recordstore-cmd.bat set-configuration -a CRS_en_schema -f CRS_en_schema.xml
recordstore-cmd.bat set-configuration -a CRS_en_data -f CRS_en_data.xml

2. Use step 4 data and write record into record store 
/CAS/<>/bin-> 
recordstore-cmd.bat write -a CRS_en_dimvals -f data_CRS_en_dimvals.xml
recordstore-cmd.bat write -a CRS_en_schema -f data_CRS_en_schema.xml
recordstore-cmd.bat write -a CRS_en_data -f data_CRS_en_data.xml

Note :- CRS_en_schema is not used for CAS based Indexing after 11.1 version.