clj-soap / README

# clj-soap

clj-soap is SOAP server and client using Apache Axis2.

## Usage

### Client

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 ...))

### Server

To make SOAP service:

  (require '(clj-soap (core :as soap)))

  ;; Defining service class
  (soap/defservice my.some.SoapClass
    ^String (someMethod [^Integer x ^String s]
              (str "x is " x "\ts is " s)))

  ;; Start SOAP Service
  (serve "my.some.SoapClass")

`defservice` needs to be AOT-compiled.
For example, `lein compile` before running server.

#### Type Hint

SOAP services need typehints.
`String` for arguments nad `void` for return value,
if you don't specify typehints.

## License

Copyright (C) 2011 Tetsuya Takatsuru

Distributed under the Eclipse Public License, the same as Clojure.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.