clj-soap is SOAP server and client using Apache Axis2.
This version is updated from Tetsuya Takatsuru's version to use Clojure 1.4.0 (and modern contrib).
You can call remote SOAP method as following:
(require '[clj-soap.core :as soap]) (let [client (soap/client-fn "http://... (URL for WSDL)")] (client :someMethod param1 param2 ...))
To make SOAP service:
(require '[clj-soap.core :as soap]) ;; Defining service class (soap/defservice my.some.SoapClass (someMethod ^String [^Integer x ^String s] (str "x is " x "\ts is " s))) ;; Start SOAP Service (serve "my.some.SoapClass")
defservice needs to be AOT-compiled.
lein compile before running server.
SOAP services need typehints.
String for arguments nad
void for return value,
if you don't specify typehints.
Copyright (C) 2011 Tetsuya Takatsuru
Distributed under the Eclipse Public License, the same as Clojure.