在Clojure中使用WSDL

Mar*_*tus 6 wsdl clojure

我需要使用WSDL Web服务,到目前为止我看到的Java客户端代码看起来很臃肿和复杂.我想知道Clojure中是否存在更清晰的解决方案,以便我可能在Clojure中实现该部分并向Java代码公开更简单的API.

mob*_*yte 9

cd your_project_dir/src
wsimport -p some.import.ns http://.../service?wsdl
Run Code Online (Sandbox Code Playgroud)

它会创造./some.import.ns/*.class.所以你可以use在你的clojure项目中找到它们

(ns your.ns ...
  (:import [some.import.ns some_WS_Service ...]))

(let [port (-> (some_WS_Service.) 
               .getSome_WS_ServicePort]
  (... (.someMethod port) ...))
Run Code Online (Sandbox Code Playgroud)