当我使用 WSDL 类型提供程序为Confluence SOAP 服务创建客户端时,我会得到所有带有 (unit -> unit) 签名的方法。
#r "System.ServiceModel.dll"
#r "FSharp.Data.TypeProviders.dll"
open System.ServiceModel
open Microsoft.FSharp.Data.TypeProviders
[<Literal>]
let ConfluenceServiceWsdl = "https://developer.atlassian.com/rpc/soap-axis/confluenceservice-v2?WSDL"
type ConfluenceService = Microsoft.FSharp.Data.TypeProviders.WsdlService<ConfluenceServiceWsdl>
let service = ConfluenceService.``Getconfluenceservice-v2``()
service.getPages;;
...
val it : (unit -> unit) = <fun:it@3-1>
但它应该类似于
Vector<PageSummary> getPages(String token, String spaceKey)
- (来自Remote Confluence Methods文档)
我究竟做错了什么?如何打造全功能服务客户端?WSDL 有问题吗?
PS Confluence SOAP WSDL 由Apache Axis生成。