Showing posts with label Others. Show all posts
Showing posts with label Others. Show all posts

Tuesday, February 10, 2015

Expected a string but was BEGIN_ARRAY at line 1 column - Gson

Expected a string but was BEGIN_ARRAY at line 1 column 

I was receiving "Expected a string but was BEGIN_ARRAY at line 1 column" error while deserializing the json string to java object using Gson.

Model class:

public class EmailGroup{
private String type;
private String id;
private String name;
private String permissions;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPermissions() {
return permissions;
}
public void setPermissions(String permissions) {
this.permissions = permissions;
}
}

JSON Response:

{"emailGroup":{"type":"EmailGroup","id":"1","depth":"minimal","description":"","name":"sample","permissions":[2,5,4,3]}}

Gson gson = new Gson();
EmailGroup obj = gson.fromJson(jsonstring, EmailGroup.class)

The root cause of the exception is the permissions attribute defined in the model class is of type String but the type of permissions in the jsonstring is List.

To fix the issue convert the type of permissions in the model class to List<String>(type string will change based on the type of the list entries)

public class EmailGroup{
private String type;
private String id;
private String name;
private List<String> permissions;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getPermissions() {
return permissions;
}
public void setPermissions(List<String> permissions) {
this.permissions = permissions;
}
}

Saturday, January 31, 2015

Accessing static files through Apache HTTP Server in Linux

Accessing static files through Apache HTTP Server in Linux

This post will explain accessing static files through Apache HTTP Server in Linux

Create  a folder in server to store the static files  e.g. /app/apache/static/

Copy all the static files to /app/apache/static/ folder

Add the below contents to httpd.conf file

##Grant the access to unix user that will access the static folder
<IfModule unixd_module>
      User apacheuser
      Group apacheuser
</IfModule>

DirectoryIndex index.htm index.html

ErrorDocument 400 /error.html
ErrorDocument 401 /error.html
ErrorDocument 403 /error.html
ErrorDocument 404 /error.html
ErrorDocument 405 /error.html
ErrorDocument 408 /error.html
ErrorDocument 414 /error.html
ErrorDocument 500 /error.html
ErrorDocument 502 /error.html
ErrorDocument 504 /error.html

<VirtualHost *:80>
  ServerName staticfiles.com:80
  DocumentRoot /app/apache/static/

 Alias /files  "/app/apache/static"

<Directory /app/apache/static>
    Order deny,allow
    Allow from all
    SetHandler default-handler
</Directory>
</VirtualHost>

Now we can access the static file with the following url - http://staticfiles.com/files/<<file name>>

The Apache server referred here is 2.2.15

403 Forbidden/403 XSRF Protection Failure error while invoking Eloqua Send mail API

403 Forbidden/403 XSRF Protection Failure error while invoking Eloqua Send mail API

We will be receiving 403 Forbidden/ 403 XSRF Protection Failure error while invoking the Eloqua Send mail API - /api/rest/1.0/assets/email/deployment

Verify whether the user has the role "Engage Users", if not add the "Engage Users" security group to the user and Save the changes.


If the Engage Users role is already added then clear the browser cookies and try again.

Tuesday, January 27, 2015

How to configure Hybris Server to use Oracle Data Base

How to configure Hybris Server to use Oracle Data Base

The following steps can be followed to configure the Hybris server to use Oracle database.

Configure database user:

Login to Oracle database and create the required user and provide the grants.
create user <username> identified by <password> default tablespace <table space name> temporary tablespace <table space name>;
grant connect, resource to <username>;

Configure Hybris server

Copy the oracle driver (e.g. ojdbc6.jar) to /hybris/bin/platform/lib/dbdriver

Go to /hybris/config and edit local.properties by adding the following:
db.url=jdbc:oracle:thin:Username/password//servername:port-id/database name
db.driver=oracle.jdbc.OracleDriver
db.username=xxxxxxx
db.password=xxxxxxx

Verify the configuration details and initialize

Access the Hybris server URL and check the following details:
                   a) Database Name displayed
                   b) User name Displayed
                   c) Database Driver Displayed.
                   d) Check for the default objects (e.g. product, cart etc) already selected.

Click on initialize button on the top of the page. It will take some time and initialize all the tables, table spaces and schemas required.

After successful completion of initialization the server gets automatically restarted, or else it will display errors which need to be rectified.

Thursday, December 11, 2014

Can not write to the specified destfile - Error while deploying through jenkins

Can not write to the specified destfile - Error while deploying through jenkins

Some times we may receive the following error "Can not write to the specified destfile"  while performing the deployment through Jenkins.


The error is due to the user running the Jenkins(the user installed the Jenkins) is not having the permission to write the content to the specified file.

To fix the issue make the owner of the file/folder to the user running the Jenkins

chown -R jenkins:jenkins hybris

Provide the required permission to the file/folder

chmod 777