title: Exception while trying to make Hazelcast cluster work with JCache compliant client
body: <p>I am trying to make a small Hazelcast cluster cooperate with simple JCache compliant client. Unfortunately, I get the exception: "java.lang.IllegalArgumentException: No service registered with name: hz:impl:cacheService".
  I would appreciate a clue how to fix that.</p>
  
  <p>I am using version 3.4 of Hazelcast (got the same behavior with 3.3 and 3.4-EA).</p>
  
  <p>Here is a snippet from hazelcast-client.xml:</p>
  
  <p></p>
  
  <pre><code>&lt;group&gt;
      &lt;name&gt;group1&lt;/name&gt;
  &lt;/group&gt;
  
  &lt;network&gt;
      &lt;cluster-members&gt;
          &lt;address&gt;192.168.56.10:5701&lt;/address&gt;
          &lt;address&gt;192.168.56.20:5701&lt;/address&gt;
      &lt;/cluster-members&gt;
  &lt;/network&gt;
  </code></pre>
  
  <p></p>
  
  <p>The log from the Hazelcast cluster node:</p>
  
  <pre><code>Dec 30, 2014 9:21:06 AM com.hazelcast.config.XmlConfigLocator
  INFO: Loading configuration /vagrant/resources/hazelcast.xml from System property 'hazelcast.config'
  Dec 30, 2014 9:21:06 AM com.hazelcast.config.XmlConfigLocator
  INFO: Using configuration file at /vagrant/resources/hazelcast.xml
  Dec 30, 2014 9:21:07 AM com.hazelcast.instance.DefaultAddressPicker
  INFO: [LOCAL] [group1] [3.4] Prefer IPv4 stack is true.
  Dec 30, 2014 9:21:07 AM com.hazelcast.instance.DefaultAddressPicker
  INFO: [LOCAL] [group1] [3.4] Picked Address[192.168.56.10]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true
  Dec 30, 2014 9:21:08 AM com.hazelcast.spi.OperationService
  INFO: [192.168.56.10]:5701 [group1] [3.4] Backpressure is disabled
  Dec 30, 2014 9:21:08 AM com.hazelcast.spi.impl.BasicOperationScheduler
  INFO: [192.168.56.10]:5701 [group1] [3.4] Starting with 2 generic operation threads and 2 partition operation threads.
  Dec 30, 2014 9:21:08 AM com.hazelcast.system
  INFO: [192.168.56.10]:5701 [group1] [3.4] Hazelcast 3.4 (20141224 - 3dc5214) starting at Address[192.168.56.10]:5701
  Dec 30, 2014 9:21:08 AM com.hazelcast.system
  INFO: [192.168.56.10]:5701 [group1] [3.4] Copyright (C) 2008-2014 Hazelcast.com
  Dec 30, 2014 9:21:08 AM com.hazelcast.instance.Node
  INFO: [192.168.56.10]:5701 [group1] [3.4] Creating MulticastJoiner
  Dec 30, 2014 9:21:08 AM com.hazelcast.core.LifecycleService
  INFO: [192.168.56.10]:5701 [group1] [3.4] Address[192.168.56.10]:5701 is STARTING
  Dec 30, 2014 9:21:14 AM com.hazelcast.cluster.impl.MulticastJoiner
  INFO: [192.168.56.10]:5701 [group1] [3.4] Trying to join to discovered node: Address[192.168.56.20]:5701
  Dec 30, 2014 9:21:14 AM com.hazelcast.nio.tcp.SocketConnector
  INFO: [192.168.56.10]:5701 [group1] [3.4] Connecting to /192.168.56.20:5701, timeout: 0, bind-any: true
  Dec 30, 2014 9:21:14 AM com.hazelcast.nio.tcp.TcpIpConnectionManager
  INFO: [192.168.56.10]:5701 [group1] [3.4] Established socket connection between /192.168.56.10:50374 and 192.168.56.20/192.168.56.20:5701
  Dec 30, 2014 9:21:20 AM com.hazelcast.cluster.ClusterService
  INFO: [192.168.56.10]:5701 [group1] [3.4]
  
  Members [2] {
          Member [192.168.56.20]:5701
          Member [192.168.56.10]:5701 this
  }
  
  Dec 30, 2014 9:21:22 AM com.hazelcast.core.LifecycleService
  INFO: [192.168.56.10]:5701 [group1] [3.4] Address[192.168.56.10]:5701 is STARTED
  Dec 30, 2014 9:22:17 AM com.hazelcast.nio.tcp.SocketAcceptor
  INFO: [192.168.56.10]:5701 [group1] [3.4] Accepting socket connection from /192.168.56.1:39715
  Dec 30, 2014 9:22:17 AM com.hazelcast.nio.tcp.TcpIpConnectionManager
  INFO: [192.168.56.10]:5701 [group1] [3.4] Established socket connection between /192.168.56.10:5701 and 192.168.56.1/192.168.56.1:39715
  Dec 30, 2014 9:22:17 AM com.hazelcast.client.impl.client.AuthenticationRequest
  INFO: [192.168.56.10]:5701 [group1] [3.4] Received auth from Connection [/192.168.56.10:5701 -&gt; 192.168.56.1/192.168.56.1:39715], endpoint=null, live=true, type=JAVA_CLIENT, successfully authenticated
  Dec 30, 2014 9:22:17 AM com.hazelcast.client.ClientEngine
  SEVERE: [192.168.56.10]:5701 [group1] [3.4] While executing request: com.hazelcast.client.impl.client.ClientCreateRequest@1256d778 -&gt; No service registered with name: hz:impl:cacheService
  java.lang.IllegalArgumentException: No service registered with name: hz:impl:cacheService
          at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.initService(ClientEngineImpl.java:477)
          at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.processRequest(ClientEngineImpl.java:427)
          at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:353)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
          at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
          at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
  </code></pre>
  
  <p>And below is the log from the client:</p>
  
  <pre><code>Dec 30, 2014 10:22:16 AM com.hazelcast.client.config.XmlClientConfigLocator
  INFO: Loading 'hazelcast-client.xml' from classpath.
  Dec 30, 2014 10:22:17 AM com.hazelcast.core.LifecycleService
  INFO: HazelcastClient[hz.client_0_group1][3.4] is STARTING
  Dec 30, 2014 10:22:17 AM com.hazelcast.core.LifecycleService
  INFO: HazelcastClient[hz.client_0_group1][3.4] is STARTED
  Dec 30, 2014 10:22:17 AM com.hazelcast.core.LifecycleService
  INFO: HazelcastClient[hz.client_0_group1][3.4] is CLIENT_CONNECTED
  Dec 30, 2014 10:22:17 AM com.hazelcast.client.spi.impl.ClusterListenerThread
  INFO: 
  
  Members [2] {
      Member [192.168.56.20]:5701
      Member [192.168.56.10]:5701
  }
  
  Exception in thread "main" javax.cache.CacheException: Error opening URI [hazelcast]
          at com.hazelcast.cache.impl.AbstractHazelcastCachingProvider.getCacheManager(AbstractHazelcastCachingProvider.java:89)
          at com.hazelcast.cache.impl.AbstractHazelcastCachingProvider.getCacheManager(AbstractHazelcastCachingProvider.java:118)
          at com.hazelcast.cache.HazelcastCachingProvider.getCacheManager(HazelcastCachingProvider.java:158)
          at com.example.JCacheSample.main(JCacheSample.java:16)
  Caused by: java.lang.IllegalArgumentException: No service registered with name: hz:impl:cacheService
          at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.initService(ClientEngineImpl.java:477)
          at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.processRequest(ClientEngineImpl.java:427)
          at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:353)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
          at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
          at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
          at ------ End remote and begin local stack-trace ------.(Unknown Source)
          at com.hazelcast.client.spi.impl.ClientCallFuture.resolveResponse(ClientCallFuture.java:201)
          at com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:142)
          at com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:118)
          at com.hazelcast.client.spi.ProxyManager.initialize(ProxyManager.java:200)
          at com.hazelcast.client.spi.ProxyManager.getOrCreateProxy(ProxyManager.java:183)
          at com.hazelcast.client.impl.HazelcastClientInstanceImpl.getDistributedObject(HazelcastClientInstanceImpl.java:391)
          at com.hazelcast.client.impl.HazelcastClientProxy.getDistributedObject(HazelcastClientProxy.java:234)
          at com.hazelcast.client.cache.impl.HazelcastClientCacheManager.&lt;init&gt;(HazelcastClientCacheManager.java:62)
          at com.hazelcast.client.cache.impl.HazelcastClientCachingProvider.createHazelcastCacheManager(HazelcastClientCachingProvider.java:75)
          at com.hazelcast.client.cache.impl.HazelcastClientCachingProvider.createHazelcastCacheManager(HazelcastClientCachingProvider.java:38)
          at com.hazelcast.cache.impl.AbstractHazelcastCachingProvider.getCacheManager(AbstractHazelcastCachingProvider.java:86)
          ... 3 more
  </code></pre>