Boo*_*oog 5 xml asp.net serialization web-services
我要问并回答我自己的问题,我希望没有人介意,但我认为这可能对其他人有用.
如果您设置的ASP.NET Web服务返回包含对XML无效的字符的对象,则在将对象序列化到SOAP xml并且客户端尝试反序列化该xml之后将抛出异常.
你是如何解决这个问题的?
为了解决这个问题,我使用作为.NET一部分的wsdl.exe应用程序为我的webservice生成了类文件.这很简单,在命令提示符下输入wsdl.exe <path to webservice>
生成之后,我重载了该方法
protected XmlReader GetReaderForMessage(SoapClientMessage message, int bufferSize)
Run Code Online (Sandbox Code Playgroud)
像这样
protected override XmlReader GetReaderForMessage(SoapClientMessage message, int bufferSize)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.CheckCharacters = false;
return XmlTextReader.Create(message.Stream, settings);
}
Run Code Online (Sandbox Code Playgroud)
这告诉XmlTextReader忽略它正在读取的XML文件的有效性.当我要立即反序列化它时,没有理由关心xml是否有效.
希望这可以帮助那些有同样问题的人!
| 归档时间: |
|
| 查看次数: |
3835 次 |
| 最近记录: |