# Kibana 4 + marvel + shield: TypeError: callWithRequestFactory is not a function

**URL:** <https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075>\
**Category:** Elasticsearch\
**Tags:** elastic-stack-security\
**Created:** [April 1, 2016, 3:24pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075 "2016-04-01T15:24:08Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Baboune](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/baboune/32/4405_2.png) [@Baboune](https://discuss.elastic.co/u/Baboune)\
**Post date:** [April 1, 2016, 3:24pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/1 "2016-04-01T15:24:08Z")

</div>

Hi,

Running kibana 4.4.2 linux-x64 on Centos 7.

Marvel, and shield plugins installed.

> log [14:48:36.876] [warning][config] Settings for "bundled\_plugin\_ids" were not applied, check for spelling errors and ensure the plugin is loaded.  
> log [14:48:37.214] [info][status][plugin:kibana] Status changed from uninitialized to green - Ready  
> log [14:48:37.249] [info][status][plugin:elasticsearch] Status changed from uninitialized to yellow - Waiting for Elasticsearch  
> log [14:48:37.255] [info][status][plugin:marvel] Status changed from uninitialized to yellow - Waiting for Elasticsearch  
> log [14:48:37.555] [fatal] TypeError: callWithRequestFactory is not a function  
> at /opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/server/lib/get\_client\_shield.js:12:27  
> at /opt/kibana/kibana-4.4.2-linux-x64/node\_modules/lodash/index.js:7363:25  
> at module.exports (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/server/lib/is\_valid\_user.js:7:27)  
> at module.exports (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/server/lib/validate.js:4:55)  
> at /opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/index.js:60:50  
> at done (/opt/kibana/kibana-4.4.2-linux-x64/node\_modules/hapi/node\_modules/items/lib/index.js:30:25)  
> at Object.exports.register (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/node\_modules/hapi-auth-cookie/lib/index.js:15:5)  
> at /opt/kibana/kibana-4.4.2-linux-x64/node\_modules/hapi/lib/plugin.js:254:14  
> at iterate (/opt/kibana/kibana-4.4.2-linux-x64/node\_modules/hapi/node\_modules/items/lib/index.js:35:13)  
> at Object.exports.serial (/opt/kibana/kibana-4.4.2-linux-x64/node\_modules/hapi/node\_modules/items/lib/index.js:38:9)  
> at [object Object].internals.Plugin.register (/opt/kibana/kibana-4.4.2-linux-x64/node\_modules/hapi/lib/plugin.js:236:11)  
> at ScopedPlugin.init [as externalInit] (/opt/kibana/kibana-4.4.2-linux-x64/installedPlugins/shield/index.js:45:12)  
> at ScopedPlugin.tryCatcher (/opt/kibana/kibana-4.4.2-linux-x64/node\_modules/bluebird/js/main/util.js:26:23)  
> at Promise.attempt.Promise.try (/opt/kibana/kibana-4.4.2-linux-x64/node\_modules/bluebird/js/main/method.js:30:24)  
> at Object.register (/opt/kibana/kibana-4.4.2-linux-x64/src/server/plugins/Plugin.js:143:15)  
> at /opt/kibana/kibana-4.4.2-linux-x64/node\_modules/hapi/lib/plugin.js:254:14  
> FATAL [TypeError: callWithRequestFactory is not a function]

kibana4.yml:

> port: 5601  
> host: "0.0.0.0"  
> elasticsearch\_url: "[http://192.168.99.100:9200](http://192.168.99.100:9200)"  
> elasticsearch\_preserve\_host: true  
> kibana\_index: ".kibana"  
> elasticsearch.username: kibana4  
> elasticsearch.password: blabla  
> default\_app\_id: "discover"  
> request\_timeout: 300000  
> shard\_timeout: 0  
> verify\_ssl: true  
> shield.encryptionKey: "jedi-rta secret"  
> shield.skipSslCheck: true  
> bundled\_plugin\_ids:
> 
> - plugins/dashboard/index
> - plugins/discover/index
> - plugins/doc/index
> - plugins/kibana/index
> - plugins/markdown\_vis/index
> - plugins/metric\_vis/index
> - plugins/settings/index
> - plugins/table\_vis/index
> - plugins/vis\_types/index
> - plugins/visualize/index

What is missing? Is not that a JavaScript error?

---

<div class="post-metadata">

**Author:** ![Baboune](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/baboune/32/4405_2.png) [@Baboune](https://discuss.elastic.co/u/Baboune)\
**Post date:** [April 1, 2016, 3:59pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/2 "2016-04-01T15:59:44Z")

</div>

This specific "callWithRequestFactory" error is due to a wrong version of kibana4 vs the shield plugin. It might be nice to have a clean kibana error instead like "version of plugin shield x.x not supported".

---

<div class="post-metadata">

**Author:** ![Yuan\_Zhao](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yuan_zhao/32/8836_2.png) [@Yuan\_Zhao](https://discuss.elastic.co/u/Yuan_Zhao)\
**Post date:** [April 1, 2016, 4:16pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/3 "2016-04-01T16:16:20Z")

</div>

Hi, Baboune:  
I had exactly the same issue today(I'm using Kibana 4.4.2). I was able to get around this issue by installing shield 2.2.1. The latest version (2.3.0) is not compatible with Kibana 4.4.2.

`bin/kibana plugin --install kibana/shield/2.2.1`

---

<div class="post-metadata">

**Author:** ![Baboune](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/baboune/32/4405_2.png) [@Baboune](https://discuss.elastic.co/u/Baboune)\
**Post date:** [April 1, 2016, 4:19pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/4 "2016-04-01T16:19:18Z")

</div>

thx Yuan.

I could upgrade to latest kibana .

---

<div class="post-metadata">

**Author:** ![Yuan\_Zhao](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yuan_zhao/32/8836_2.png) [@Yuan\_Zhao](https://discuss.elastic.co/u/Yuan_Zhao)\
**Post date:** [April 1, 2016, 4:22pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/5 "2016-04-01T16:22:19Z")

</div>

You are very welcome, Baboune. I was googling around and found this thread. : )

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [April 3, 2016, 2:04am UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/6 "2016-04-03T02:04:06Z")

</div>

Sorry this isn't very user friendly!  
I've raised an (internal) issue to get the error something that is digestible 🙂

---

<div class="post-metadata">

**Author:** ![wathmal](https://avatars.discourse-cdn.com/v4/letter/w/4491bb/32.png) [@wathmal](https://discuss.elastic.co/u/wathmal)\
**Post date:** [April 10, 2016, 8:52am UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/7 "2016-04-10T08:52:36Z")

</div>

this works. 😌  
thank you!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:45pm UTC](https://discuss.elastic.co/t/kibana-4-marvel-shield-typeerror-callwithrequestfactory-is-not-a-function/46075/8 "2017-07-06T13:45:30Z")

</div>


