控制台对接Webservice正常,同样的方法在Web项目上报错:

客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”。
请求失败,错误信息为:
--
{
 "code" : "03010250002",
 "msg" : "Illegal json string",
 "data" : ""
}
--.

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”。
请求失败,错误信息为:
--
{
 "code" : "03010250002",
 "msg" : "Illegal json string",
 "data" : ""
}
--.

按照网上的资料找到的方法:

1、重写代理类的请求或响应的方法

在代理类中重写GetWebResponse方法来设置响应的ContentType:

        protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request){var response = base.GetWebResponse(request);if (response.ContentType == "application/json;charset=UTF-8")response.ContentType = "text/xml";return response;}protected override System.Net.WebResponse GetWebResponse(System.Net.WebRequest request, IAsyncResult result){var response = base.GetWebResponse(request,result);if (response.ContentType == "application/json;charset=UTF-8")response.ContentType = "text/xml";return response;}

调试报错:

该类未实现此属性。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NotImplementedException: 该类未实现此属性。

源错误:

行 39:             var response = base.GetWebResponse(request);
行 40:             if (response.ContentType == "application/json;charset=UTF-8")
行 41:                 response.ContentType = "text/xml";
行 42:             return response;
行 43:         }

重写请求方法GetWebResponse

        protected override System.Net.WebRequest GetWebRequest(Uri uri){System.Net.WebRequest request = base.GetWebRequest(uri);request.ContentType = "text/xml";return request;}

结果还是报错:客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”。

后来调试发现是URL写错了,因是用vs的开发命令工具生成的代理类,手动设置的URL,设置错误导致。

SOAPUI生成的代理类也一样要注意URL,URL对了就正常了。

顺便附上用vs的开发命令工具生成代理类的方法,其实就是调用了wsdl.exe 生成代理类

打开vs开发控制台

wsdl /language:c# /n:命名空间 /out:D:/SOAPUI_CS/类名.cs wsdl文件地址

SoapUI生成代理类方法


转载于:https://www.cnblogs.com/townsend/p/7773807.html

Webservice报错客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”。...相关推荐

  1. 关于 客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”的解决方法...

    关于 客户端发现响应内容类型为"text/html; charset=utf-8",但应为"text/xml"的解决方法 请求web服务时,会有如题的异常出现, ...

  2. 首页静态生成 错误:客户端发现响应内容类型为“text/html”,但应该是“text/xml”...

    首页静态生成 错误:客户端发现响应内容类型为"text/html",但应该是"text/xml"解决方法: 最近在做首页静态生成,一直遇到这样的问题  客户端发 ...

  3. 客户端发现响应内容类型为“text/html;charset=utf-8”,但应为“text/xml” 解决办法

    characterEncoding=utf8&{"客户端发现响应内容类型为"text/html;charset=utf-8",但应为"text/xml& ...

  4. [Android]打开eclipse报错:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素。...

    [错误]  打开eclipse报错:发现了以元素 'd:skin' 开头的无效内容.此处不应含有子元素. [具体报错信息]  Error parsing D:\android-sdks\system- ...

  5. [Android]打开eclipse报错:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素。

    [错误] 打开eclipse报错:发现了以元素 'd:skin' 开头的无效内容.此处不应含有子元素. [具体报错信息] Error parsing D:\android-sdks\system-im ...

  6. php调用webservice报错Class 'SoapClient' not found

    php调用webservice报错Class 'SoapClient' not found 原文:php调用webservice报错Class 'SoapClient' not found php在调 ...

  7. 响应内容类型为CSV

    本文翻译自:Response Content type as CSV I need to send a CSV file in HTTP response. 我需要在HTTP响应中发送CSV文件. H ...

  8. delph7 调webservice报错:Unmarshalling Error:

    问题:delph7 调webservice报错:Unmarshalling Error: 意外的元素 (uri:"microService", local:"arg0&q ...

  9. matlab cell2mat报错:元胞内容引用自非元胞数组对象

    假设map为double矩阵 cell2mat({{map}}), 报错:元胞内容引用自非元胞数组对象.原因:套了两层cell, 解决:直接运行map{1,1}{1,1} 正确用法:一层cell,ce ...

最新文章

  1. 利用PHP实现定时任务,利用php 实现定时任务简单实现 代码
  2. 经典再读 | NASNet:神经架构搜索网络在图像分类中的表现
  3. C++字符串和数字转换完全攻略
  4. HDU4082(相似三角形的个数)
  5. 前端学习(3268):js中this在类中的表现
  6. CubeMX 的使用实例详细(04.6)- STM32F103的 - 定时器设定 - callback调用 - 实现1S的定时更新LED灯
  7. 南京信息工程大学计算机类专业排名,2019年南京信息工程大学优势专业排名及分数线...
  8. 整理阿里巴巴社招最新面试题及答案,附复学习笔记,面试成功归来
  9. 最新小程序反编译详细教程,亲测可用
  10. 走进微软亚洲研究院随笔
  11. 编辑python用什么输入法_微信Python输入法, 两个地球首发!
  12. 【C++笔记】 判断两个数互质(做大公约数为1)
  13. android高效虚拟机调试方式
  14. 三菱PLC QD77定位模块功能块FB ,用私服电机控制中
  15. 关于单片机对三极管B值的测量
  16. Mac m1配置MAMP+PHPStorm环境
  17. html 怎样设置按钮的位置
  18. HTML列表标签及自定义列表的应用
  19. git与svn的区别面试
  20. 一些OMNET使用心得

热门文章

  1. JSD-2204-(业务逻辑开发)-续消息队列-Kafka-RabbitMQ-Day15
  2. word删除不了最后一页怎么办?【已解决】
  3. 动易系统如何实现按频道搜索的功能
  4. 何为Access token
  5. php随机名言,为wordpress创建随机调用名言名句的小插件
  6. 使用Rabbitmq搭建MQTT 代理服务器(broker)
  7. win8系统桌面自动刷新解决方案
  8. 字节跳动上千道精选面试题还不刷起来!2019-2020大厂高级面试题集合(Handler,性能优化,自定义View等)
  9. 整理GitHub最受欢迎的Android组件
  10. mysql表空间总结_mysql个人总结