Lark: Swift SOAP 客户端

Lark 是一个用 Swift 编写的 SOAP 库。

Build Status

特性

沟通

用法

首先,通过在 Package.swift 中包含以下内容来安装软件包

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

然后,构建你的软件包。这将生成一个名为 lark-generate-client 的可执行文件,它可以生成客户端代码

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

现在你可以在你的代码中使用生成的 Client,像这样

let client = HelloWorldServiceClient()

要调用远程方法,请检查 Client 上生成的函数。例如,接受 SayHello 参数并返回 SayHelloResponsesayHello 方法

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

或者,如果你正在构建一个需要非阻塞网络的 GUI,请使用异步版本

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

更多信息可以在 文档 中找到。

示例

请参阅 Lark-Example 仓库,查看如何使用 Lark 的示例。

Swift 兼容性

版本 1 的此软件包需要 Swift 4。 如果你需要 Swift 3 兼容性,请使用版本 0。

FAQ (常见问题解答)

是否支持 Linux?

尚未支持。此库构建于各种 XMLDocument API 之上,这些 API 要么在 Swift-Foundation(某些 Foundation API 的 Swift 端口)中不可用,要么行为不同。此外,主要依赖项 AlamoFire 尚未在 iOS 上得到支持。要跟踪此方面的进展,请订阅 issue 32

是否支持 iOS?

不支持。此库构建于 iOS 上不可用的各种 XMLDocument API 之上。切换到另一个 XML 库可能会有所帮助,但我不需要这样做。如果你有兴趣提交 pull request 来更改此设置,请随时与我联系。

它可以作为 SOAP 服务器吗?

不可以。如果你有兴趣提交 pull request 来更改此设置,请随时与我联系。

是否支持 CocoaPods / Carthage?

不支持。

为什么叫 Lark?

SOAP 有时被称为臃肿的消息协议。Swift 是一种优雅的鸟。百灵鸟 (Lark) 有时看起来像一只胖鸟。

鸣谢

此库由 Bouke Haarsma 编写。