<p>Could you please assist me with the following issue.
I use Apiman version 1.2.1</p>

<pre><code>FROM jboss/wildfly:9.0.2.Final
ENV APIMAN_VERSION 1.2.1.Final
</code></pre>

<p>I expose this version via kubernetes, as a persistent volume I use postgres in the same container. Once I create it at the first time, after this in the apiman I have added Organization/ API/.... and all necessary staff.</p>

<p>I press on button to publish api, and may check that it works perfect, so I use <code>kubectl port-forward pod-name 8080:8080</code> and may check my gateway via browser <code>http:localhost:8080/apiman-gateway/ORgId/bla/bla/bla/bla?givemedescriptionbyid=1</code>.</p>

<p>After this one I go to console and kill apiman pod, as a result of pod restart, the same operation <code>kubectl port-forward new-pod-name 8080:8080</code>, and I can see that the all data of apiman like organization, apis and all other staff is already there.</p>

<p>But one big problem if you try to call gateway again, it tells you that:</p>

<blockquote>
  <p>{"responseCode":500,"message":"API not
  found.","trace":"io.apiman.gateway.engine.beans.exceptions.InvalidApiException:
  API not found.\n\tat
  io.apiman.gateway.engine.impl.ApiRequestExecutorImpl$3.handle(ApiRequestExecutorImpl.java:278)\n\tat
  io.apiman.gateway.engine.impl.ApiRequestExecutorImpl$3.handle(ApiRequestExecutorImpl.java:271)\n\tat
  io.apiman.gateway.engine.impl.SecureRegistryWrapper$1.handle(SecureRegistryWrapper.java:122)\n\tat
  io.apiman.gateway.engine.impl.SecureRegistryWrapper$1.handle(SecureRegistryWrapper.java:111)\n\tat
  io.apiman.gateway.engine.es.CachingESRegistry.getApi(CachingESRegistry.java:116)\n\tat
  io.apiman.gateway.engine.impl.SecureRegistryWrapper.getApi(SecureRegistryWrapper.java:111)\n\tat
  io.apiman.gateway.engine.impl.ApiRequestExecutorImpl.execute(ApiRequestExecutorImpl.java:270)\n\tat
  io.apiman.gateway.platforms.servlet.GatewayServlet.doAction(GatewayServlet.java:232)\n\tat
  io.apiman.gateway.platforms.servlet.GatewayServlet.doGet(GatewayServlet.java:77)\n\tat
  javax.servlet.http.HttpServlet.service(HttpServlet.java:687)\n\tat
  javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n\tat
  io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)\n\tat
  io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)\n\tat
  io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)\n\tat
  org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)\n\tat
  io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat
  io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)\n\tat
  io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)\n\tat
  io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat
  io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)\n\tat
  io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)\n\tat
  io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)\n\tat
  io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72)\n\tat
  io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)\n\tat
  io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)\n\tat
  io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat
  org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)\n\tat
  io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat
  io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\n\tat
  io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282)\n\tat
  io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)\n\tat
  io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)\n\tat
  io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)\n\tat
  io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)\n\tat
  io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774)\n\tat
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat
  java.lang.Thread.run(Thread.java:745)\n"}</p>
</blockquote>

<p>I can see, that by metrics of calls in api manager, all my calls can reach apiman-gateway, but I get 500 response code.</p>

<p>If anybody will met such error, so, I have solved it with the following steps, first of all we need to use only new version of APIMAN, list of fixes already implemented. And also apiman-gateway cannot live without elastic search to restore itself. Hence elasticsearch configuration should to be provided.</p>
