我需要通过 API 将 WCF 服务连接到外部 WCF 服务,该服务将返回 JSON <中的数据/ strong>格式。
我一直在寻找 wsdl 和 wadl 来实现这一目标,但我不确定它们是在外部服务上实现还是如何访问它们。
<serviceMetadata>
已在外部服务上启用。
从目前为止我看到的 wsdl 似乎已经过时且仅与 SOAP 兼容,这听起来不错吗?所以这是正确的,我自然更喜欢使用 wadl 。
这些是我唯一的选择,如果有的话,是否有任何好的指南可以介绍如何实现这些?
感谢。
答案 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
命名空间中。