# Java client 5.0, encryption

**URL:** https://discuss.elastic.co/t/java-client-5-0-encryption/58750
**Category:** Elasticsearch
**Created:** [August 23, 2016, 10:00pm UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750 "2016-08-23T22:00:23Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![robert-blankenship](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/robert-blankenship/32/11287_2.png) [@robert-blankenship](https://discuss.elastic.co/u/robert-blankenship)
#### Post date: [August 23, 2016, 10:00pm UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/1 "2016-08-23T22:00:23Z")

</div>

Hi all, I'm trying to make a secure java client for ES 5.0, but I'm met with the following error. Any ideas?

 ![](https://us1.discourse-cdn.com/elastic/original/2X/8/839f862fd92a5b24e89cea86393f58f86c191e07.png)

Here is my code

 ![](https://us1.discourse-cdn.com/elastic/original/2X/1/1d6f93c55d45da980108e9ea95b2f54297f433a2.png)

It's weird because it passes the type checker.

---

<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: [August 24, 2016, 1:11am UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/2 "2016-08-24T01:11:42Z")

</div>

Please don't post pictures of text, they are difficult to read and some people may not be even able to see them.

---

<div class="post-metadata">

### Author: ![robert-blankenship](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/robert-blankenship/32/11287_2.png) [@robert-blankenship](https://discuss.elastic.co/u/robert-blankenship)
#### Post date: [August 24, 2016, 3:45am UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/3 "2016-08-24T03:45:46Z")

</div>

The exception, in text:

```auto
play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.VerifyError: class org.elasticsearch.xpack.XPackPlugin overrides final method onModule.(Lorg/elasticsearch/action/ActionModule;)V]]
	at play.api.Application$class.handleError(Application.scala:296)
	at play.api.DefaultApplication.handleError(Application.scala:402)
	at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205)
	at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202)
	at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
Caused by: java.lang.RuntimeException: java.lang.VerifyError: class org.elasticsearch.xpack.XPackPlugin overrides final method onModule.(Lorg/elasticsearch/action/ActionModule;)V
	at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:523)
	at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130)
	at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130)
	at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
	at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129)
Caused by: java.lang.VerifyError: class org.elasticsearch.xpack.XPackPlugin overrides final method onModule.(Lorg/elasticsearch/action/ActionModule;)V
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)

```

The code excerpt, in text:

```auto
package controllers

import java.net.InetAddress

import org.elasticsearch.client.transport.TransportClient
import org.elasticsearch.common.settings.Settings
import org.elasticsearch.common.transport.InetSocketTransportAddress
import org.elasticsearch.transport.client.PreBuiltTransportClient
import org.elasticsearch.xpack.XPackPlugin
import play.api.libs.json.Json
import play.api.mvc.Action
import play.api.mvc.Results._
import util.AWSInstance

object ElasticController {

  def getClient(instanceId: String, clusterName: String = "my-cluster"): TransportClient = {
    val instanceIp = AWSInstance.getInstanceById(instanceId).getPrivateIpAddress

    val clientSettings = Settings.builder().put("cluster.name", clusterName).build()

    new PreBuiltTransportClient(
      clientSettings,
      classOf[XPackPlugin]
    ).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(instanceIp), 9300))
  }

  def getIndices(instanceId: String) = Action {
    Ok(
      Json.toJson {
        getClient(instanceId).admin().cluster().prepareState().execute().actionGet().getState.getMetaData.getConcreteAllIndices
      }
    )
  }
}

```

---

<div class="post-metadata">

### Author: ![rjernst](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rjernst/32/6363_2.png) [@rjernst](https://discuss.elastic.co/u/rjernst)
#### Post date: [August 25, 2016, 12:23am UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/4 "2016-08-25T00:23:54Z")

</div>

Can you check what version of xpack you are pulling in? This looks like you have an old version of xpack with a 5.0 version of transport client.

---

<div class="post-metadata">

### Author: ![robert-blankenship](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/robert-blankenship/32/11287_2.png) [@robert-blankenship](https://discuss.elastic.co/u/robert-blankenship)
#### Post date: [August 26, 2016, 6:49pm UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/5 "2016-08-26T18:49:06Z")

</div>

Hi @rjernst, thanks for your reply.

Here is my `build.sbt` file:

```auto
resolvers += "elasticsearch-releases" at "https://maven.elasticsearch.org/releases"

libraryDependencies ++= Seq(
  "com.amazonaws" % "aws-java-sdk" % "1.9.8",
  "com.jcraft" % "jsch" % "0.1.53",
  "org.elasticsearch.plugin" % "x-pack" % "5.0.0-alpha4",
  "org.elasticsearch.client" % "transport" % "5.0.0-alpha5"
)

```

I'm unable to pull in `5.0.0-alpha5` of Xpack due to a build issue: [Can't get 5.0.0-alpha5 from Maven](https://discuss.elastic.co/t/cant-get-5-0-0-alpha5-from-maven/58726/2)

---

<div class="post-metadata">

### Author: ![rjernst](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rjernst/32/6363_2.png) [@rjernst](https://discuss.elastic.co/u/rjernst)
#### Post date: [September 24, 2016, 6:09pm UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/6 "2016-09-24T18:09:28Z")

</div>

@robert-blankenship Sorry for the delayed response on this. Mixing version of the transport client and x-pack will definitely cause issues like you see. The packaging issue you linked to has been fixed in 5.0.0-beta1. In fact, there is now a prebuilt xpack transport client which you can have as a single dependency. Take a look at `org.elasticsearch.client:x-pack-transport:5.0.0-beta1`. Also, note that the location of the elastic hosted maven repository has changed to `https://artifacts.elastic.co/maven`.

---

<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 5, 2017, 10:17pm UTC](https://discuss.elastic.co/t/java-client-5-0-encryption/58750/7 "2017-07-05T22:17:29Z")

</div>


