[swift-users] Lark: Swift SOAP Client

Bouke Haarsma bouke at haarsma.eu
Wed Feb 22 01:56:45 CST 2017


Hi all,

Over the past few months I've been writing a SOAP client library. It 
uses code generation to generated the client proxy. The major benefit 
of code generation is that all messages are typed and great 
autocompletion support. You can find the project here: 
https://github.com/Bouke/Lark. I'd be happy to hear your feedback / 
questions!

Usage instructions;

First, install the package by including the following in Package.swift:

	.Package(url: "https://github.com/Bouke/Lark.git", majorVersion: 0)

Then, build your package. This will result in an executable named 
lark-generate-client which can generate the client code:

	swift build
	.build/debug/lark-generate-client "http://localhost:8000/?wsdl" > 
Sources/Client.swift

In your code you can now use the generated Client like this:

	let client = HelloWorldServiceClient()

To call a remote method, inspect the generated functions on the Client. 
For example the sayHello method that takes a SayHello parameter and 
returns a SayHelloResponse:

	let result = try client.sayHello(SayHello(name: "World", times: 2))
	print(result.sayHelloResult)

Or if you're building a GUI that requires non-blocking networking, use 
the async version:

	client.sayHelloAsync(SayHello(name: "World", times: 2)) { result in
	    print(result?.value.sayHelloResult)
	}

-- 
-Bouke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170222/2b4d450c/attachment.html>


More information about the swift-users mailing list