2

我正在尝试为我们的 Web 服务编写 F# 客户端。此处的示例看起来非常好,只是它在代码中使用了服务器 url。

type TerraService = WsdlService<"http://msrmaps.com/TerraService2.asmx?WSDL">

这使我无法在运行时从配置文件中读取服务 url,并使从开发服务器到生产服务器的部署变得困难。

我想知道是否有任何类似于Dbml Provider的 WSDL 提供程序

4

3 回答 3

3

我不确定我是否完全理解您要查找的内容,但请注意,作为静态参数提供的 URL 用于生成类型,但如果需要,可以在运行时使用不同的Get...Soap方法重载提供不同的 URL . 这个 URL 可以来自任何你想要的地方(例如,如果这是你的场景,你可以从配置文件中读取它)。例如:

type TerraService = WsdlService<"http://msrmaps.com/TerraService2.asmx?WSDL">
let terraClient = TerraService.GetTerraServiceSoap(EndpointAddress(myRuntimeUrl))
于 2013-05-09T15:45:24.053 回答
2

目前没有任何东西可以做到这一点,但代码是开源的,因此您可以制作一个以您想要的模式工作的版本:1 2

于 2013-05-09T12:30:12.043 回答
0

我认为这个博客给出了答案

于 2013-05-18T18:09:02.083 回答