调用webserivce时报错“对操作"方法名"的回复消息正文进行反序”
来源:互联网 发布:刺客信条大革命优化 编辑:程序博客网 时间:2024/06/01 09:24
今天在工作中遇到这个问题。我就把它记录下来。
在调试的过程中发现问题:
调用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;}}
到最后还是出现同样的错误,没辙了,到gg上搜了下,百度知道中有个人提问这个同样的问题,我按它的回答设置了MaxReceivedMessageSize 这个属性 把它改大一点了。
但是还是不行,最后还是设置了maxStringContentLength的这个属性,最终可以了。
原因就是这个字段中的内容太多。所以造成报错对操作“方法名”的回复消息正文进行反序。
- 调用webserivce时报错“对操作"方法名"的回复消息正文进行反序”
- 调用webservice时提示对操作的回复消息正文进行反序列化时出错
- 对操作 “xxx” 的回复消息正文进行反序列化时出错。
- C#对操作“××”的回复消息正文进行反序列化时出错
- webserivce之递归方法解析SOAP消息
- 关于JS对正文进行字数统计的一段代码
- 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetLzdtArticleResult。InnerException 消息是“反序
- 对 Windows 窗体控件进行线程安全调用的方法
- jquery 常用的对字符串进行操作的方法小结
- 如何在linux系统下对文件夹名有空格的文件夹进行操作
- vc++调用webserivce
- 用JavaScript对MySQL数据库进行操作的方法
- iTunes中对Documents文件夹进行操作的监听方法
- JS笔记--对数组进行操作的方法-->splice()
- 对private域进行读写操作的方法
- 对数组每个数进行操作的系统方法
- 通过pdo的query()方法对数据库进行操作
- 消息对列的操作
- java unicode 转为汉字
- [Android] PorterDuff使用实例----实现新浪微博图片下载效果
- jsp及Servlet经典面试题以及答案
- 电话本导入导出
- <codeforces>A. Little Elephant and Rozdil
- 调用webserivce时报错“对操作"方法名"的回复消息正文进行反序”
- 结构体的sizeof
- VCL组件之TScrollBar
- Java使用patchca生成验证码
- Jquery实现select multiple左右添加和删除功能
- 自定义工具栏
- Rational Rose、PowerDesign、visio的比较
- iphone开发之我也做瀑布流
- Oracle basic alternation