gpt4 book ai didi

f# - 为什么 WSDL 类型提供程序不能消除重载的歧义?

转载 作者:行者123 更新时间:2023-12-03 17:51:33 24 4
gpt4 key购买 nike


#r "FSharp.Data.TypeProviders"
#r "System.ServiceModel"

open Microsoft.FSharp.Data.TypeProviders

[<Literal>]
let serviceAddress = "http://localhost/Microsoft/Dynamics/GP/eConnect/mex"

type Dynamics = WsdlService<serviceAddress>
type DynTypes = Dynamics.ServiceTypes.SimpleDataContextTypes
type Address = System.ServiceModel.EndpointAddress

无论我做什么 WSDL 类型提供者都无法消除函数调用的歧义:
let svc: DynTypes.eConnectClient = Dynamics.GeteConnectServiceEndpoint()
let svc2 = (Dynamics.GeteConnectServiceEndpoint : unit -> DynTypes.eConnectClient)()
let svc3 = (Dynamics.GeteConnectServiceEndpoint : Address -> DynTypes.eConnectClient)(Address serviceAddress)

它们都不起作用。

禁用其他端点并只为 eConnectClient 保留一个端点可以解决问题,但我什至不知道我是否最终可能需要其他端点。

最佳答案

不熟悉模式或类型提供程序,但 WSDL 标准不支持重载。如果 WSDL 在运行时从实现生成(通常是这种情况),运行时可能会生成这样一个无效的 WSDL。

关于f# - 为什么 WSDL 类型提供程序不能消除重载的歧义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com