So I'm trying to create a drop-in implementation of a SOAP webservice with Clojure. Naturally I look into libraries that accomplish the different bits. I need something to do SQL work with a relational db (Korma<https://github.com/ibdknox/korma>, check!) and I need to present a SOAP interface (clj-soap<https://bitbucket.org/taka2ru/clj-soap>, check!)
Unfortunately I'm having tooling issues putting the two together. The first problem, I'm pretty sure, was simply a Clojure version mismatch: I and Korma were using Clojure 1.3 and alj-soap was using 1.2-- so I checked out the clj-soap source and updated the libraries (Clojure to 1.3, the Axis2 libraries to their latest) and ran the tests to make sure all was still working-- it was. So I pushed the 'new' clj-soap to clojars as [org.clojars.crenshawda/clj-soap "0.1.2"] and tried again. Much to my chagrin I started getting seemingly endless byzantine DEBUG log traces spewed out into the repl when I try to start the soap server. If I comment Korma out of the project.clj, lein deps, and lein repl the same thing works like a charm. I also checked out each of Korma's dependencies individually and ran the same serve function and it worked (the log4j dep made it complin, but it still served just fine.) I'm not exactly sure WHAT is causing the collision between Korma and clj-soap, but it's damaging my calm at this point. :) I have a gut feeling that it's somehow logging related, but I don't know why it would cause clj-soap to flip out so badly. To recreate my scenario, start a new project and add these dependencies to the project.clj: [org.clojure/clojure "1.3.0"] ;; if is isn't already there by default, I want to use 1.3 [korma "0.3.0-apha4"] [org.clojars.crenshawda/clj-soap "0.1.2"] ;; use [clj-soap "0.1.1"] if you want to see what I was talking about with the 1.2/1.3 mismatch Since Axis2 (what clj-soap is build upon) requires compiled classes to serve soap, you'll probably have to define a service in a clj file so 'lein repl' will pre-compile it for convenience sake. You can use this: (soap/defservice service.Hello (hello ^String [^String s] (str "Hello Yourself"))) So when you start your repl you should have classes/services/Hello.class in your classes/ directory. After you have to invoke clj-soap's serve function: (serve "service.Hello") ... aaaand you should have a lovely logging wreck in your repl. I'd be happier if I could at least figure out WHY it happens when I put Korma in my dependencies. Sorry for the wall of text, but I figure too much info is usually better than not enough. :) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en