调用webserivce时报错“对操作"方法名"的回复消息正文进
发布时间:2020-12-17 00:42:55 所属栏目:安全 来源:网络整理
导读:今天在工作中遇到这个问题。我就把它记录下来。 在调试的过程中发现问题: ?????? 调用webservice的时候出现的问题;问题描述如下: ??????? 报错内容:对操作“方法名”的回复消息正文进行反序列化时出错 我是这样考虑的。是不是传过来的webservice中的内容
今天在工作中遇到这个问题。我就把它记录下来。 在调试的过程中发现问题: ?????? 调用webservice的时候出现的问题;问题描述如下: ??????? 报错内容:对操作“方法名”的回复消息正文进行反序列化时出错 我是这样考虑的。是不是传过来的webservice中的内容格式有问题? 然后我试着去使用 XmlSerializer 控制序列化生成 CDATA 内容(Serializing A String Within a CDATA Element )? 这个类也记录下,以后用得到: 添加一个CDATA的类, public class CDATA : IXmlSerializable { private string _value; /**/ /// <summary> /// 默认构造函数 /// </summary> public CDATA() { } /**/ /// <summary> /// 带参数构造函数 /// </summary> /// <param name="value"></param> public CDATA(string value) { this._value = value; } /**/ /// <summary> /// /// </summary> public string Value { get { return _value; } } XmlSchema IXmlSerializable.GetSchema() { return null; } void IXmlSerializable.ReadXml(XmlReader reader) { /**/ /***** 如果此节点中包含有多个节点须使用此方法。**/ this._value = reader.ReadElementContentAsString(); /**/ /* **********/ //this.text = reader.ReadString(); // reader.Read(); } void IXmlSerializable.WriteXml(XmlWriter writer) { writer.WriteCData(this._value); } /**/ /// <summary> /// 重写 获取CData节点的 内容 /// </summary> /// <returns></returns> public override string ToString() { return this._value; } /**/ /// <summary> /// 将 CDATA 对象隐式转换成 内容 字符串。 /// </summary> /// <param name="element"></param> /// <returns></returns> public static implicit operator string(CDATA element) { return (element == null) ? null : element._value; } /**/ /// <summary> /// 将 内容 对象隐式转换成 CDATA 字符串。 /// </summary> /// <param name="text"></param> /// <returns></returns> public static implicit operator CDATA(string text) { return new CDATA(text); } }
调用方法如下: [XmlElement("Content",Type = typeof(CDATA))]
private CDATA _content = new CDATA(); public CDATA Content { get { return _content.Value; } set { _content = value; } }
但是还是不行,最后还是设置了maxStringContentLength的这个属性,最终可以了。 原因就是这个字段中的内容太多。所以造成报错对操作“方法名”的回复消息正文进行反序。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- scala – 如何使用其字符串名称及其原始类型来获取字段值的
- angularjs – Angular,使用select输入过滤器来更新路由?
- 使用Angular2,如何在登录重定向之前重定向到以前的url
- centos7上docker安装和使用教程
- angularjs – 将ngMessages与Angular 1.2一起使用
- AngularJS Google地图:点击添加/更新标记并更新中心点
- twitter-bootstrap – 如何获取twitter启动模式关闭(初次启
- WebService-06-CXF与Spring集成
- angularjs – 使用grunt构建的Angular应用程序中遗漏的资产
- typescript – AngularFire 2 sendPasswordResetEmail