仅使用 WSDL 文件在 Xamarin Forms 中使用 SOAP Web 服务
Consuming SOAP Web Services in Xamarin Forms with just a WSDL File
我是一名 Web 服务 n00b,我正在尝试了解如何将 SOAP Web 服务用于 Xamarin Forms 项目。然而,要注意的是,我只获得了 .wsdl 文件。任何人有任何想法或知道从哪里开始?
遗憾的是,我们过去不得不这样做。您要使用 Svcutil、
结账
这些是我们旧项目的注释,其中一些部分已编辑,但应该足以让您继续:
- 使用 svcutil 生成代理服务包装器,例如
svcutil PATH_TO_HOSTED_WSDL
请注意,不同版本的 svcutil 工具可能会在文件末尾为您提供异步方法,也可能不会。不过这些应该无关紧要。 你可能想要 async
这里,虽然我们当时的开发人员不太确定。
然后手动编辑文件以删除对 IExtensibleDataObject
的任何引用,例如
删除 class 定义末尾的部分
, 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 服务所需的位。
我是一名 Web 服务 n00b,我正在尝试了解如何将 SOAP Web 服务用于 Xamarin Forms 项目。然而,要注意的是,我只获得了 .wsdl 文件。任何人有任何想法或知道从哪里开始?
遗憾的是,我们过去不得不这样做。您要使用 Svcutil、
结账这些是我们旧项目的注释,其中一些部分已编辑,但应该足以让您继续:
- 使用 svcutil 生成代理服务包装器,例如
svcutil PATH_TO_HOSTED_WSDL
请注意,不同版本的 svcutil 工具可能会在文件末尾为您提供异步方法,也可能不会。不过这些应该无关紧要。 你可能想要 async
这里,虽然我们当时的开发人员不太确定。
然后手动编辑文件以删除对
IExtensibleDataObject
的任何引用,例如删除 class 定义末尾的部分
, 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 服务所需的位。