Lark 是一个用 Swift 编写的 SOAP 库。
首先,通过在 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
参数并返回 SayHelloResponse
的 sayHello
方法
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 的示例。
版本 1 的此软件包需要 Swift 4。 如果你需要 Swift 3 兼容性,请使用版本 0。
尚未支持。此库构建于各种 XMLDocument API 之上,这些 API 要么在 Swift-Foundation(某些 Foundation API 的 Swift 端口)中不可用,要么行为不同。此外,主要依赖项 AlamoFire 尚未在 iOS 上得到支持。要跟踪此方面的进展,请订阅 issue 32。
不支持。此库构建于 iOS 上不可用的各种 XMLDocument API 之上。切换到另一个 XML 库可能会有所帮助,但我不需要这样做。如果你有兴趣提交 pull request 来更改此设置,请随时与我联系。
不可以。如果你有兴趣提交 pull request 来更改此设置,请随时与我联系。
不支持。
SOAP 有时被称为臃肿的消息协议。Swift 是一种优雅的鸟。百灵鸟 (Lark) 有时看起来像一只胖鸟。
此库由 Bouke Haarsma 编写。