gpt4 book ai didi

web-services - 使用 ServiceStack 访问 SOAP 网络服务

转载 作者:行者123 更新时间:2023-12-01 05:23:09 26 4
gpt4 key购买 nike

我正在创建与 ServiceStack 的客户端/服务器应用程序互通,并且运行良好,但我还需要访问外部 SOAP Web 服务。

我尝试使用 Soap12ServiceClient访问它,但我找不到任何示例,然后我采用了实际有效的添加服务引用 WCF 方式,但创建了大量代码。

是否可以使用 Soap12ServiceClient以同样简单的方式使用 JsonServiceClient发送消息/请求并接收消息/响应?如果是这样,你能帮我或指点我一个样本吗?

最佳答案

我不确定你被困在哪里了 ServiceStack's C# Service Clients实现相同的 IServiceClient所以它们可以以相同的方式使用。以下是所有 ServiceStack 内置 C# 服务客户端的示例 calling the same Hello World service :

[TestFixture]
public class HelloWorldServiceClientTests
{
public static IEnumerable ServiceClients
{
get
{
return new IServiceClient[] {
new JsonServiceClient(Config.ServiceStackBaseUri),
new JsvServiceClient(Config.ServiceStackBaseUri),
new XmlServiceClient(Config.ServiceStackBaseUri),
new Soap11ServiceClient(Config.ServiceStackBaseUri),
new Soap12ServiceClient(Config.ServiceStackBaseUri)
};
}
}

[Test, TestCaseSource("ServiceClients")]
public void HelloWorld_with_Sync_ServiceClients(IServiceClient client)
{
var response = client.Send<HelloResponse>(new Hello { Name = "World!" });

Assert.That(response.Result, Is.EqualTo("Hello, World!"));
}
}

尽管 SOAP 的工作方式类似于任何其他 C# 客户端,但以这种方式使用它并不常见,因为如果您能够使用通用 C# SOAP 服务客户端,您也可能能够使用任何其他服务客户端所有这些都比 SOAP 更快、更有弹性、更可版本化——除了它能够生成您说无论如何都不想做的客户端代理之外,它实际上没有比其他格式更好的质量。

如果您不确定应该使用哪种端点或格式,我 recommend reading my Interview on InfoQ其中讨论了 SOAP 的缺点以及使用其他格式的好处。

关于web-services - 使用 ServiceStack 访问 SOAP 网络服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15421585/

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