[英]How to read the WSDL of a WCF service from a URL in C#
我正在尝试从URL读取WSDL,以动态生成WCF服务的代理。 这是我的代码:
XmlTextReader xmlTextReader = new XmlTextReader(new StringReader(description))
if (ServiceDescription.CanRead(xmlTextReader))
{
...
}
我从方法ServiceDescription.CanRead
获得XmlException
。
错误消息为“ 根级别的数据无效。第1行,位置1 ”。
浏览IE中的WDSL URL,我可以在标签<wsdl:definitions ...> ... </wsdl:definitions>
之前的开头看到以下标签,该标签没有出现在chrome中。
<?xml version="1.0" encoding="UTF-8"?>
这可能是问题吗? 但我认为ServiceDescription.CanRead
应该能够识别出来。 任何提示将不胜感激。
尝试在问题中包含的第一行之前添加以下内容:
var byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble());
if (description.StartsWith(byteOrderMarkUtf8))
{
var lastIndexOfUtf8 = byteOrderMarkUtf8.Length - 1;
description = description.Remove(0, lastIndexOfUtf8);
}
从这里借来的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.