将WCF服务连接到外部API

时间:2014-01-02 08:51:43

标签: c# wcf api wsdl wadl

我需要通过 API WCF 服务连接到外部 WCF 服务,该服务将返回 JSON <中的数据/ strong>格式。

我一直在寻找 wsdl wadl 来实现这一目标,但我不确定它们是在外部服务上实现还是如何访问它们。

<serviceMetadata>已在外部服务上启用。

从目前为止我看到的 wsdl 似乎已经过时且仅与 SOAP 兼容,这听起来不错吗?所以这是正确的,我自然更喜欢使用 wadl

这些是我唯一的选择,如果有的话,是否有任何好的指南可以介绍如何实现这些?

感谢。

1 个答案:

答案 0 :(得分:2)

这是基于我在工作中实现并修改(但未经过测试)以使用JSON的某种精简版本(基于此处和网络上的其他答案):

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = client.GetAsync("http://somedomain.com/serviceAddress").Result;

string responseContent = response.Content.ReadAsStringAsync().Result;

有很多方法可以做到这一点,但上面的代码演示了它是多么容易(或者至少应该如此)。

请注意,我使用Result属性进行异步调用;如果您是在标记为async的方法中进行此调用,则还可以执行以下操作:

HttpResponseMessage response = await client.GetAsync("http://somedomain.com/serviceAddress");

string responseContent = await response.Content.ReadAsStringAsync();

HttpClient位于System.Net.Http命名空间中。