ralphcarlo
ralphcarlo

Reputation: 209

ExtJS 4.2 - Internal Server Error 500 When Loading Store

I keep on getting an internal server 500 error every time I attempt to load my store. I am currently trying to connect to our API endpoint that contains the data that I need. This is the error I'm getting every time (FYI, checking the 'Accept' Header, it seems it's empty. I am not sure how I can have an application/json there to correctly connect to it):

enter image description here

My Store is setup like this:

Ext.define('EcommBackoffice.store.TierCapacity', {
  extend: 'Ext.data.Store',
  model: 'EcommBackoffice.model.TierCapacityModel',
  storeId: 'tier-capacity-id',
  autoLoad: true,
  sorters: [{
    property: 'name',
    direction: 'ASC'
  }],
  proxy: {
    type: 'rest',
    url: EcommBackoffice.Global.getAPIEndPoints().tier_capacity + '?siteCode=bgp88',
    reader: {
      type: 'json',
      root: ''
    },
    listeners: {
      exception: function(proxy, response, op) {
        if (response.status === 403 || response.status === 401) return; /*skip this exception handler and check App exception handler*/
        Ext.Msg.alert('ERROR', response.responseText + ' ' + response.statusText);
      }
    }
  }
});

And my model like this:

Ext.define('EcommBackoffice.model.TierCapacityModel', {
  extend: 'Ext.data.Model',
  fields: [{
    name: 'id'
  }, {
    name: 'paymentOption',
    type: Ext.data.SortTypes.asUCString
  }, {
    name: 'tier',
    type: Ext.data.SortTypes.asUCString
  }, {
    name: 'media',
    type: Ext.data.SortTypes.asUCString
  }, {
    name: 'channels',
    type: Ext.data.SortTypes.asUCString
  }]
});

The API contains something like this:

[{
    "name": "DEBIT",
    "tiers": [{
        "name": "Default",
        "media": [{
            "name": "OFFICE",
            "channels": [{
                "name": "CHANNEL-001",
                "currentVolume": 0,
                "maxVolume": 0,
                "yesterdayVolume": 0
            }]
        }]
    }]
}]

Moreover, I am a bit unfamiliar with setting up the models and stores. I am assuming that is where I'm missing something. Am I structuring the model correctly based on the API response? I tried reading the docs, but I still can't wrap my head around it.

Upvotes: 0

Views: 1265

Answers (2)

Saloo
Saloo

Reputation: 816

Error Code 500 tells :

The server encountered an unexpected condition which prevented it from fulfilling the request.

As I can see that while processing code at your Java end , you are getting NullPointerException . So when an unexpected exception occurs , Http 500 error code is thrown which is shown on your browser. This error code has nothing to be done from client side.

Upvotes: 1

Alexander
Alexander

Reputation: 20224

The error 500 is not an ExtJS issue. It's a backend issue. You should check what backend technologies you use and add these to the tags to get any help.

checking the 'Accept' Header, it seems it's empty. I am not sure how I can have an application/json there to correctly connect to it)

proxy: {
    headers: {
        Accept: 'application/json'
    },

Upvotes: 0

Related Questions