Schema causing uberimage build failure - clojure

I'm developing a simple hello world web app in Clojure. However, after I added the Schema library to my project, I started getting the error below when trying to build an uberjar using lein uberjar. Strangely, the app still passes the unit tests and runs without errors when started using lein dev.
java.lang.RuntimeException: Unable to resolve symbol:
missing-required-key in this context, compiling:(server/api.clj:21:17)
at clojure.lang.Compiler.analyze(Compiler.java:6464) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$VectorExpr.parse(Compiler.java:3126) at
clojure.lang.Compiler.analyze(Compiler.java:6447) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$MapExpr.parse(Compiler.java:2981) at
clojure.lang.Compiler.analyze(Compiler.java:6453) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$MapExpr.parse(Compiler.java:2981) at
clojure.lang.Compiler.analyze(Compiler.java:6453) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.access$100(Compiler.java:38) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6050) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$FnMethod.parse(Compiler.java:5217) at
clojure.lang.Compiler$FnExpr.parse(Compiler.java:3846) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6642) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$FnMethod.parse(Compiler.java:5217) at
clojure.lang.Compiler$FnExpr.parse(Compiler.java:3846) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6642) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.access$100(Compiler.java:38) at
clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:538) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler.compile1(Compiler.java:7221) at
clojure.lang.Compiler.compile(Compiler.java:7292) at
clojure.lang.RT.compile(RT.java:398) at
clojure.lang.RT.load(RT.java:438) at
clojure.lang.RT.load(RT.java:411) at
clojure.core$load$fn__5066.invoke(core.clj:5641) at
clojure.core$load.doInvoke(core.clj:5640) at
clojure.lang.RestFn.invoke(RestFn.java:408) at
clojure.core$load_one.invoke(core.clj:5446) at
clojure.core$compile$fn__5071.invoke(core.clj:5652) at
clojure.core$compile.invoke(core.clj:5651) at
user$eval9$fn__16.invoke(form-init1857067608391167398.clj:1) at
user$eval9.invoke(form-init1857067608391167398.clj:1) at
clojure.lang.Compiler.eval(Compiler.java:6703) at
clojure.lang.Compiler.eval(Compiler.java:6693) at
clojure.lang.Compiler.load(Compiler.java:7130) at
clojure.lang.Compiler.loadFile(Compiler.java:7086) at
clojure.main$load_script.invoke(main.clj:274) at
clojure.main$init_opt.invoke(main.clj:279) at
clojure.main$initialize.invoke(main.clj:307) at
clojure.main$null_opt.invoke(main.clj:342) at
clojure.main$main.doInvoke(main.clj:420) at
clojure.lang.RestFn.invoke(RestFn.java:421) at
clojure.lang.Var.invoke(Var.java:383) at
clojure.lang.AFn.applyToHelper(AFn.java:156) at
clojure.lang.Var.applyTo(Var.java:700) at
clojure.main.main(main.java:37) Caused by: java.lang.RuntimeException:
Unable to resolve symbol: missing-required-key in this context at
clojure.lang.Util.runtimeException(Util.java:221) at
clojure.lang.Compiler.resolveIn(Compiler.java:6940) at
clojure.lang.Compiler.resolve(Compiler.java:6884) at
clojure.lang.Compiler.analyzeSymbol(Compiler.java:6845) at
clojure.lang.Compiler.analyze(Compiler.java:6427) ... 153 more
Exception in thread "main" java.lang.RuntimeException: Unable to
resolve symbol: missing-required-key in this context,
compiling:(server/api.clj:21:17) at
clojure.lang.Compiler.analyze(Compiler.java:6464) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$VectorExpr.parse(Compiler.java:3126) at
clojure.lang.Compiler.analyze(Compiler.java:6447) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$MapExpr.parse(Compiler.java:2981) at
clojure.lang.Compiler.analyze(Compiler.java:6453) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$MapExpr.parse(Compiler.java:2981) at
clojure.lang.Compiler.analyze(Compiler.java:6453) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.access$100(Compiler.java:38) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6050) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6100) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$FnMethod.parse(Compiler.java:5217) at
clojure.lang.Compiler$FnExpr.parse(Compiler.java:3846) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6642) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3719) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6646) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5782) at
clojure.lang.Compiler$FnMethod.parse(Compiler.java:5217) at
clojure.lang.Compiler$FnExpr.parse(Compiler.java:3846) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6642) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6632) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.access$100(Compiler.java:38) at
clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:538) at
clojure.lang.Compiler.analyzeSeq(Compiler.java:6644) at
clojure.lang.Compiler.analyze(Compiler.java:6445) at
clojure.lang.Compiler.analyze(Compiler.java:6406) at
clojure.lang.Compiler.compile1(Compiler.java:7221) at
clojure.lang.Compiler.compile(Compiler.java:7292) at
clojure.lang.RT.compile(RT.java:398) at
clojure.lang.RT.load(RT.java:438) at
clojure.lang.RT.load(RT.java:411) at
clojure.core$load$fn__5066.invoke(core.clj:5641) at
clojure.core$load.doInvoke(core.clj:5640) at
clojure.lang.RestFn.invoke(RestFn.java:408) at
clojure.core$load_one.invoke(core.clj:5446) at
clojure.core$compile$fn__5071.invoke(core.clj:5652) at
clojure.core$compile.invoke(core.clj:5651) at
user$eval9$fn__16.invoke(form-init1857067608391167398.clj:1) at
user$eval9.invoke(form-init1857067608391167398.clj:1) at
clojure.lang.Compiler.eval(Compiler.java:6703) at
clojure.lang.Compiler.eval(Compiler.java:6693) at
clojure.lang.Compiler.load(Compiler.java:7130) at
clojure.lang.Compiler.loadFile(Compiler.java:7086) at
clojure.main$load_script.invoke(main.clj:274) at
clojure.main$init_opt.invoke(main.clj:279) at
clojure.main$initialize.invoke(main.clj:307) at
clojure.main$null_opt.invoke(main.clj:342) at
clojure.main$main.doInvoke(main.clj:420) at
clojure.lang.RestFn.invoke(RestFn.java:421) at
clojure.lang.Var.invoke(Var.java:383) at
clojure.lang.AFn.applyToHelper(AFn.java:156) at
clojure.lang.Var.applyTo(Var.java:700) at
clojure.main.main(main.java:37) Caused by: java.lang.RuntimeException:
Unable to resolve symbol: missing-required-key in this context at
clojure.lang.Util.runtimeException(Util.java:221) at
clojure.lang.Compiler.resolveIn(Compiler.java:6940) at
clojure.lang.Compiler.resolve(Compiler.java:6884) at
clojure.lang.Compiler.analyzeSymbol(Compiler.java:6845) at
clojure.lang.Compiler.analyze(Compiler.java:6427) ... 153 more
Compilation failed: Subprocess failed
Below is the source file where I use schema. For brevity, I've omitted the rest of my source files, but if anyone wants to see the rest, just ask.
(ns server.api
(:require [aleph.http :as http]
[compojure.api.sweet :refer :all]
[compojure.route :as route]
[com.stuartsierra.component :as component]
[ring.middleware.reload :refer [wrap-reload]]
[ring.util.http-response :refer :all]
[schema.core :as s]
[server.logging :refer [wrap-exception-logging wrap-request-logging] :as log]))
(s/defschema Greeting
{:hello s/Str
s/Keyword s/Any})
(defn app [db]
(api
{:format {:formats [:json-kw]}}
(middlewares [wrap-request-logging
wrap-exception-logging]
(swagger-ui "/docs" :swagger-docs "/endpoints")
(swagger-docs "/endpoints"
{:info {:title "Hello World Api"}})
(GET* "/greet" []
:summary "Greets someone by name."
:description "Greets a person by name, telling them about
the database configuration we're using as well."
:return Greeting
:query-params [name :- s/Str]
(ok {:hello name :with-db db}))
(route/not-found (not-found {:error "Page not found."})))))
(defrecord Api
[port env db logger]
component/Lifecycle
(start [{:keys [connection] :as component}]
(if connection
component
(do (log/info "Starting Api at port" port "with env" env)
(let [application (app db)
handler (if (= env :dev) (wrap-reload application) application)
conn (http/start-server handler {:port port :join? false})]
(assoc component :connection conn)))))
(stop [{:keys [connection] :as component}]
(if-not connection
component
(do (log/info "Stopping Api")
(.close connection)
(assoc component :connection nil)))))
(defn new-api [port env]
(->Api port env nil nil))
I've already tried disabling AOT compilation, since that seems to be the main difference between normal compilation and building an uberjar, but no dice. I also looked for the 'missing-required-key' key in the Schema source code and made sure it is quoted properly, it definitely seems to be, since if I change it Schema's tests start failing.
What else is different about the compilation process when creating an uberjar compared to compiling normally? Is there anything else I can try?

The root cause is that the swagger-docs-route is given an invalid input (no :version given, see https://github.com/metosin/ring-swagger/blob/master/src/ring/swagger/swagger2_schema.clj#L13). When it's added, it works as expected.
Still, the given exception was really bad, and is fixed now in the latest SNAPSHOT - uses defaults for missing fields and thus does not do compile-time schema check for it.
Also, would recommend not AOTing the whole app. See https://github.com/metosin/compojure-api/issues/129

I haven't seen that error before (and we deploy all of our services with schema and uberjar). It looks like line 21 is the swagger-docs middleware; can you try removing that and see if that fixes the issue?

I did react on that you use :refer :all, it is preferred to use :refer [list of symbols used in code]. This probably not the error here, but it makes the code much easier to dive into for someone who don't know so much about the libraries.
I looked into the compojure.api.sweet-namespace and I see that Zach Tellmans Potemkin is used to "import" all functions from various namespaces into your namespace service.api. Maybe this renders problems when creating a jar.
Could you try to require the swagger-ui and swagger-docs from their original namespace by adding this row to the require?
[compojure.api.swagger swagger-ui swagger-docs]
If this doesn't work but at least gives another error message (maybe) try to require all the other symbols used explicitly.

I'm not sure if this will help, but try running lein deps :tree and see what the transitive dependencies are. It may be that multiple libraries are depending on different, incompatible versions of the same dependency. I've run into this before, but I have no idea why it would only happen when packaged in the uberjar.

Related

WSO2 api manager 4.1.0 gives "900763:No resources found::API must have at least one resource defined" error when updating sample api

After doing a clean install of wso2 api manager (via docker-compose - https://github.com/wso2/docker-apim) and deploying a sample API (PizzaShackAPI) I am unable to update that api via the "publisher api's" (PUT https://localhost:9443/api/am/publisher/v3/apis/:apiId).
Whenever I try to update the PizzaShackAPI I get the following response, no matter what property I try to update (e.g. description or maxTps):
Request Body:
{
"context": "/pizzashack",
"name": "PizzaShackAPI",
"version": "1.0.0",
"description": "test"
}
Response:
{
"code": 500,
"message": "Internal server error",
"description": "Error while updating the API : 56d3faae-67b1-43e3-b1c5-18e1b06fe724 - 900763:No resources found::API must have at least one resource defined",
"moreInfo": "",
"error": []
}
In api manager logs I get the following:
ERROR - ApisApiServiceImpl Error while updating the API : 56d3faae-67b1-43e3-b1c5-18e1b06fe724 - 900763:No resources found::API must have at least one resource defined
org.wso2.carbon.apimgt.api.APIManagementException: 900763:No resources found::API must have at least one resource defined
at org.wso2.carbon.apimgt.rest.api.publisher.v1.common.mappings.PublisherCommonUtils.updateApi(PublisherCommonUtils.java:283) ~[org.wso2.carbon.apimgt.rest.api.publisher.v1.common_9.20.74.jar:?]
at org.wso2.carbon.apimgt.rest.api.publisher.v1.impl.ApisApiServiceImpl.updateAPI(ApisApiServiceImpl.java:803) ~[?:?]
at org.wso2.carbon.apimgt.rest.api.publisher.v1.ApisApi.updateAPI(ApisApi.java:1511) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) ~[?:?]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) ~[?:?]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) ~[?:?]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) ~[?:?]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) ~[?:?]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) ~[?:?]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[?:?]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[?:?]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[?:?]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[?:?]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[?:?]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[?:?]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:304) ~[?:?]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPut(AbstractHTTPServlet.java:234) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:684) ~[tomcat-servlet-api_9.0.58.wso2v1.jar:?]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:279) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:107) ~[org.wso2.carbon.identity.context.rewrite.valve_1.4.52.jar:?]
at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:110) ~[org.wso2.carbon.identity.authz.valve_1.4.52.jar:?]
at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:102) ~[org.wso2.carbon.identity.auth.valve_1.4.52.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:101) ~[org.wso2.carbon.tomcat.ext_4.6.3.jar:?]
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49) ~[org.wso2.carbon.tomcat.ext_4.6.3.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) ~[org.wso2.carbon.tomcat.ext_4.6.3.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:146) ~[org.wso2.carbon.tomcat.ext_4.6.3.jar:?]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:58) ~[org.wso2.carbon.tomcat.ext_4.6.3.jar:?]
at org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke(RequestCorrelationIdValve.java:126) ~[org.wso2.carbon.tomcat.ext_4.6.3.jar:?]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat_9.0.58.wso2v1.jar:?]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat_9.0.58.wso2v1.jar:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
Since this is the "sample api" it does have resources defined. I can also call those resources succesfully through the console in the devportal and even updating the api through the publisher UI works without a problem, only through the publisher api I'm unable to update, and get the error above.
Fetching details and updating other stuff (like the swagger definition, deployments or revisions) through the publisher api works without a problem.
I also verified that I have a valid token with the right scopes (If I remove the required scopes I get a different error response).
I'm unable to find anything regarding this error on the internet. Can you point me in the right direction as to how to solve this error? Any suggestions on how to further debug this issue are appreciated.
Thank you.
This is because the payload of does not contain the operations of the API. You can add the existing operations of the API to the payload in the update request.
Refer the documentation[1] for a sample payload.
[1] https://apim.docs.wso2.com/en/latest/reference/product-apis/publisher-apis/publisher-v2/publisher-v2/#tag/APIs/operation/updateAPI

WSO2 IS(pre-packaged) as Key Manager to API-M error

The pre-packaged Identity Server cannot mount _system/config as specified in registry.xml:
<mount path="/_system/config" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/config</targetPath>
</mount>
After configuring and initial start-up (sh wso2server -Dsetup) I get:
ERROR {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent} - Unable to create fixed remote mounts. {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent}
org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException: Resource does not exist at path /_system/governance
Then I configured API-M , started up , successfully creates both mounts.
Restarted IS and get :
INFO {org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService} - Connected to mount at govregistry in 2ms {org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService}
ERROR {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent} - Unable to create fixed remote mounts. {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent}
org.wso2.carbon.registry.core.exceptions.RegistryException: An exception occurred while executing handler chain. null
at org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.delete(HandlerManager.java:2649)
at org.wso2.carbon.registry.core.jdbc.handlers.UserDefinedHandlerManager.delete(UserDefinedHandlerManager.java:215)
at org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.delete(HandlerLifecycleManager.java:452)
at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.delete(EmbeddedRegistry.java:843)
at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.delete(CacheBackedRegistry.java:512)
at org.wso2.carbon.registry.core.session.UserRegistry.deleteInternal(UserRegistry.java:870)
at org.wso2.carbon.registry.core.session.UserRegistry.access$1100(UserRegistry.java:60)
at org.wso2.carbon.registry.core.session.UserRegistry$12.run(UserRegistry.java:845)
at org.wso2.carbon.registry.core.session.UserRegistry$12.run(UserRegistry.java:842)
at java.security.AccessController.doPrivileged(Native Method)
at org.wso2.carbon.registry.core.session.UserRegistry.delete(UserRegistry.java:842)
at org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent.setupMounts(RegistryCoreServiceComponent.java:343)
at org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent.buildRegistryService(RegistryCoreServiceComponent.java:572)
at org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent.activate(RegistryCoreServiceComponent.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:70)
at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.NullPointerException
at org.wso2.carbon.registry.core.jdbc.handlers.builtin.MountHandler.delete(MountHandler.java:492)
at org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.delete(HandlerManager.java:2627)
... 50 more
The registry view in IS console shows that governance is successfully mounted.
Should the IS config registry be shared/mounted? If so please advise or update the documentation.
Also is this correct in registry.xml as per the doc ?:
<remoteInstance url="https://localhost">
<id>gov</id>
<dbConfig>govregistry</dbConfig>
<cacheId>root#jdbc:mysql://10.20.30.42:3306/registrydb</cacheId>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
Should that be my local IP address and also the db previously created is registry not registrydb
is/repository/conf/registry.xml
<dbConfig name="wso2registry">
<dataSource>jdbc/WSO2CarbonDB</dataSource>
</dbConfig>
<dbConfig name="govregistry">
<dataSource>jdbc/WSO2REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost">
<id>gov</id>
<dbConfig>govregistry</dbConfig>
<cacheId>root#jdbc:mysql://10.20.30.42:3306/registrydb</cacheId>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/config</targetPath>
</mount>
API-M/repository/conf/registry.xml :
<dbConfig name="wso2registry">
<dataSource>jdbc/WSO2CarbonDB</dataSource>
</dbConfig>
<dbConfig name="govregistry">
<dataSource>jdbc/WSO2REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost">
<id>gov</id>
<dbConfig>govregistry</dbConfig>
<cacheId>root#jdbc:mysql://10.20.30.42:3306/registrydb</cacheId>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/config</targetPath>
</mount>
I have followed (https://docs.wso2.com/display/CLUSTER420/Configuring+the+Pre-Packaged+Identity+Server+5.0.0+with+API+Manager+1.9.0)
In fact there is problem with mount governance space.
Governance space in Identity Server has already been mounted after define the from mentioned IdS as KeyManager guide.
The config space isn`t configured correctly, because in registry.xml the 'conf' mount is after the 'governance'.
When 'conf' part will be moved before 'governance' the error will stil appear, but 'config' will appear as remote space in registry browser in wso2 web console.
Below is mentioned registry.xml mounting order:
<mount path="/_system/config" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/config</targetPath>
</mount>
<mount path="/_system/governance" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
Seems like an issues with reistry configuration. Please make sure your registry.xml configurations are correct. Please clean the database and restart the both servers.
IS Side:
<dbConfig name="govregistry">
<dataSource>jdbc/WSO2REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost">
<id>gov</id>
<dbConfig>govregistry</dbConfig>
<cacheId>root#jdbc:mysql://10.20.30.42:3306/registrydb</cacheId>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/config</targetPath>
</mount>
APIM Side :
<dbConfig name="govregistry">
<dataSource>jdbc/WSO2REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost">
<id>gov</id>
<dbConfig>govregistry</dbConfig>
<cacheId>root#jdbc:mysql://10.20.30.42:3306/registrydb</cacheId>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
<mount path="/_system/config" overwrite="true">
<instanceId>gov</instanceId>
<targetPath>/_system/config</targetPath>
</mount>

IdentityProviderMgtServiceIdentityApplicationManagementExceptionException

I'm seeing IdentityProviderMgtServiceIdentityApplicationManagementExceptionException and ERROR: relation "idp" does not exist Position: 127 entries in my logs when I try to go Identity Providers -> Add in the WSO2IS management console. At the same time, the Web UI goes into a loop constantly showing an error saying Error While Loading Identity Providers.
Here's the full stack trace.
TID: [0] [IS] [2015-02-06 09:32:47,987] ERROR {org.wso2.carbon.idp.mgt.dao.IdPManagementDAO} - ERROR: relation "idp" does not exist
Position: 127 {org.wso2.carbon.idp.mgt.dao.IdPManagementDAO}
org.postgresql.util.PSQLException: ERROR: relation "idp" does not exist
Position: 127
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:570)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:305)
at org.wso2.carbon.idp.mgt.dao.IdPManagementDAO.getIdPs(IdPManagementDAO.java:63)
at org.wso2.carbon.idp.mgt.dao.CacheBackedIdPMgtDAO.getIdPs(CacheBackedIdPMgtDAO.java:69)
at org.wso2.carbon.idp.mgt.IdentityProviderManager.getIdPs(IdentityProviderManager.java:374)
at org.wso2.carbon.idp.mgt.IdentityProviderManagementService.getAllIdPs(IdentityProviderManagementService.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.idp.mgt.stub.IdentityProviderMgtServiceStub.getAllIdPs(IdentityProviderMgtServiceStub.java:625)
at org.wso2.carbon.idp.mgt.ui.client.IdentityProviderMgtServiceClient.getIdPs(IdentityProviderMgtServiceClient.java:117)
at org.apache.jsp.idpmgt.idp_002dmgt_002dlist_002dload_jsp._jspService(org.apache.jsp.idpmgt.idp_002dmgt_002dlist_002dload_jsp:98)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:37)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.include(ContextPathServletAdaptor.java:369)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1015)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:700)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tiles.jsp.context.JspUtil.doInclude(JspUtil.java:87)
at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:88)
at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:82)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:465)
at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140)
at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117)
at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171)
at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
at org.apache.jsp.admin.layout.template_jsp._jspx_meth_tiles_insertAttribute_7(org.apache.jsp.admin.layout.template_jsp:603)
at org.apache.jsp.admin.layout.template_jsp._jspService(org.apache.jsp.admin.layout.template_jsp:335)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.forward(ContextPathServletAdaptor.java:362)
at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198)
at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:185)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370)
at org.wso2.carbon.ui.action.ActionHelper.render(ActionHelper.java:52)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:101)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
I'm using WSO2 Identity Server 5.0.0 SP1
I encountered the same error. It turns out that I missed one of the database initialization scripts when I was installing the Identity Server. The script is in $WSO2_IS_HOME/dbscripts/identity/application-mgt/.
There are also several syntax errors in postgresql.sql in this directory. All instances of INTEGER NEXTVAL should be replaced by INTEGER DEFAULT NEXTVAL and BLOB should be replaced by BYTEA in this script.
I encountered the error in version 5.2.0 and solved it by running the server startup script with the -Dsetup option:
./wso2server.bat -Dsetup

WSO2Carbon Error : java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet

I am trying to install API Manager 1.6.0 in wso2carbon 4.2.0, while installed and trying to restart i am getting the exception in the logs..
Is it possible to install API Manager 1.6.0 in wso2carbon 4.2.0 ?
I also want to know is it possible to install API Manager Feature on wso2esb 4.8.1
`[2014-03-24 13:45:32,882] ERROR {org.apache.catalina.core.StandardContext} - Servlet /oauth2 threw load() exception
java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet
at org.wso2.carbon.webapp.mgt.loader.CarbonWebappClassLoader.loadClass(CarbonWebappClassLoader.java:138)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp(CarbonTomcat.java:280)
at org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp(CarbonTomcat.java:177)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleWebappDeployment(TomcatGenericWebappsDeployer.java:222)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleWarWebappDeployment(TomcatGenericWebappsDeployer.java:174)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleHotDeployment(TomcatGenericWebappsDeployer.java:141)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.deploy(TomcatGenericWebappsDeployer.java:116)
at org.wso2.carbon.webapp.mgt.AbstractWebappDeployer.deployThisWebApp(AbstractWebappDeployer.java:140)
at org.wso2.carbon.webapp.mgt.AbstractWebappDeployer.deploy(AbstractWebappDeployer.java:90)
at org.wso2.carbon.webapp.deployer.WebappDeployer.deploy(WebappDeployer.java:42)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:810)
at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:139)
at org.wso2.carbon.core.CarbonAxisConfigurator.loadServices(CarbonAxisConfigurator.java:464)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
at org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java
at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398)
at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)
at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)
at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1267)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)`
Can anyone help me on this please.....Thanks in advance
I am also new to WSO2 products. It seems you are missing Apache CXF runtimes. May be this is the worst way to do it.
Make sure "<PRODUCT_HOME>/lib/runtimes/cxf" is in place.
Update the "<PRODUCT_HOME>/repository/conf/tomcat/webapp-classloading-environments.xml" specifying CXF as an Exclusive environment.
<ExclusiveEnvironments>
<ExclusiveEnvironment>
<Name>CXF</Name>
<Classpath>${carbon.home}/lib/runtimes/cxf/*.jar;${carbon.home}/lib/runtimes/cxf/</Classpath>
</ExclusiveEnvironment>
</ExclusiveEnvironments>
Add the following entries to the webapp-classloading.xml file of each web application, to use them in the runtime environment defined above.
<Classloading xmlns="http://wso2.org/projects/as/classloading">
<Environments>CXF,Carbon</Environments>
</Classloading>
For further details please refer: https://docs.wso2.com/display/AS520/Webapp+ClassLoading

Issue with AS 5.0.0 and BAM 2.0.0 when I create a new tenant in AS

When in AS 5.0.0 I create a tenant if BAM statistic bundle is disable all work great, I can login into the tenant. But if I activate the BAM statistic bundle and try to login into the same tenant I see this error in console:
[2012-10-15 18:17:53,653] INFO {org.wso2.carbon.core.services.authentication.AuthenticationAdmin} - 'admin#carbon.super [-1234]' logged out at [2012-10-15 18:17:53,0653]
[2012-10-15 18:18:03,306] jorgeio#cdae.uci.cu [2] [Application Server] INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} - 'jorgeio#cdae.uci.cu [2]' logged in at [2012-10-15 18:18:03,306-0400]
[2012-10-15 18:18:03,327] INFO {org.wso2.carbon.core.multitenancy.TenantAxisConfigurator} - Creating tenant AxisConfiguration for tenant: cdae.uci.cu[2]
[2012-10-15 18:18:03,450] WARN {org.wso2.carbon.stratos.landing.page.deployer.LandingPageWebappDeployer} - Product landing page not found.
[2012-10-15 18:18:03,565] #carbon.super [2] [Application Server]ERROR {org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils} - Error occurred while running deployment for tenant cdae.uci.cu
java.lang.NullPointerException
at org.wso2.carbon.bam.service.data.publisher.publish.StreamDefinitionCreatorUtil.getStreamDefinition(StreamDefinitionCreatorUtil.java:30)
at org.wso2.carbon.bam.service.data.publisher.internal.ServiceStatisticsAxis2ConfigurationContextObserver.setEventingConfigDataSpecificForTenant(ServiceStatisticsAxis2ConfigurationContextObserver.java:76)
at org.wso2.carbon.bam.service.data.publisher.internal.ServiceStatisticsAxis2ConfigurationContextObserver.createdConfigurationContext(ServiceStatisticsAxis2ConfigurationContextObserver.java:51)
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.createTenantConfigurationContext(TenantAxisUtils.java:326)
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantConfigurationContext(TenantAxisUtils.java:121)
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantAxisConfiguration(TenantAxisUtils.java:101)
at org.wso2.carbon.activation.module.ActivationHandler.invoke(ActivationHandler.java:90)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.wso2.carbon.core.commons.stub.loggeduserinfo.LoggedUserInfoAdminStub.getUserInfo(LoggedUserInfoAdminStub.java:187)
at org.wso2.carbon.ui.AbstractCarbonUIAuthenticator.setUserAuthorizationInfo(AbstractCarbonUIAuthenticator.java:278)
at org.wso2.carbon.ui.AbstractCarbonUIAuthenticator.processUserAuthorization(AbstractCarbonUIAuthenticator.java:196)
at org.wso2.carbon.ui.DefaultCarbonAuthenticator.authenticate(DefaultCarbonAuthenticator.java:198)
at org.wso2.carbon.ui.DefaultCarbonAuthenticator.authenticate(DefaultCarbonAuthenticator.java:121)
at org.wso2.carbon.ui.CarbonUILoginUtil.handleLogin(CarbonUILoginUtil.java:331)
at org.wso2.carbon.ui.CarbonSecuredHttpContext.handleSecurity(CarbonSecuredHttpContext.java:223)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:86)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:179)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:49)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
[2012-10-15 18:18:03,579] #carbon.super [2] [Application Server]ERROR {org.apache.axis2.engine.AxisEngine} - Failed to determine Activation status.
org.apache.axis2.AxisFault: Failed to determine Activation status.
at org.wso2.carbon.activation.module.ActivationHandler.invoke(ActivationHandler.java:96)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.wso2.carbon.core.commons.stub.loggeduserinfo.LoggedUserInfoAdminStub.getUserInfo(LoggedUserInfoAdminStub.java:187)
at org.wso2.carbon.ui.AbstractCarbonUIAuthenticator.setUserAuthorizationInfo(AbstractCarbonUIAuthenticator.java:278)
at org.wso2.carbon.ui.AbstractCarbonUIAuthenticator.processUserAuthorization(AbstractCarbonUIAuthenticator.java:196)
at org.wso2.carbon.ui.DefaultCarbonAuthenticator.authenticate(DefaultCarbonAuthenticator.java:198)
at org.wso2.carbon.ui.DefaultCarbonAuthenticator.authenticate(DefaultCarbonAuthenticator.java:121)
at org.wso2.carbon.ui.CarbonUILoginUtil.handleLogin(CarbonUILoginUtil.java:331)
at org.wso2.carbon.ui.CarbonSecuredHttpContext.handleSecurity(CarbonSecuredHttpContext.java:223)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:86)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:179)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:49)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: Cannot create tenant ConfigurationContext for tenant cdae.uci.cu
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantConfigurationContext(TenantAxisUtils.java:124)
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantAxisConfiguration(TenantAxisUtils.java:101)
at org.wso2.carbon.activation.module.ActivationHandler.invoke(ActivationHandler.java:90)
... 46 more
Caused by: java.lang.Exception: Error occurred while running deployment for tenant
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.createTenantConfigurationContext(TenantAxisUtils.java:335)
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.getTenantConfigurationContext(TenantAxisUtils.java:121)
... 48 more
Caused by: java.lang.NullPointerException
at org.wso2.carbon.bam.service.data.publisher.publish.StreamDefinitionCreatorUtil.getStreamDefinition(StreamDefinitionCreatorUtil.java:30)
at org.wso2.carbon.bam.service.data.publisher.internal.ServiceStatisticsAxis2ConfigurationContextObserver.setEventingConfigDataSpecificForTenant(Se
rviceStatisticsAxis2ConfigurationContextObserver.java:76)
at org.wso2.carbon.bam.service.data.publisher.internal.ServiceStatisticsAxis2ConfigurationContextObserver.createdConfigurationContext(ServiceStatis
ticsAxis2ConfigurationContextObserver.java:51)
at org.wso2.carbon.core.multitenancy.utils.TenantAxisUtils.createTenantConfigurationContext(TenantAxisUtils.java:326)
... 49 more
We have come across this issue and fixed it. This is available in the WSO2 AppServer 5.0.1 release.
Amila.