问题描述
我是一个 Web 服务 n00b,我正在尝试弄清楚如何将 SOAP Web 服务用于 Xamarin Forms 项目。然而,问题是我只提供了 .wsdl 文件。任何人都有任何想法或知道从哪里开始?
解决方法
遗憾的是,我们过去不得不这样做。您想使用 Svcutil,
结帐这些是我们旧项目的笔记,其中一些部分被删节,但应该足以让你开始:
- 使用 svcutil 生成代理服务包装器,例如
svcutil PATH_TO_HOSTED_WSDL
请注意,不同版本的 svcutil 工具可能会在文件末尾提供或不提供异步方法。不过这些应该没有关系。 您可能希望 async
在这里,但我们当时的开发人员并不确定。
-
然后手动编辑文件以删除对
IExtensibleDataObject
的任何引用,例如-
删除类定义末尾的部分
,System.Runtime.Serialization.IExtensibleDataObject
-
删除字段
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
-
删除属性
-
public System.Runtime.Serialization.ExtensionDataObject ExtensionData
{
get
{
return this.extensionDataField;
}
set
{
this.extensionDataField = value;
}
}
在我们最后一次这样做的时候,Xamarin
中似乎不支持某些构造。情况可能不再如此,但这对我们有用。
更新
我还没有详细测试这个工具,但 dotnet-svcutil
似乎是一个新的 dotnet
工具,它应该可以生成允许使用 WCF Web 服务所需的位。>