日期:2014-05-18  浏览次数:21117 次

客户端发现响应内容类型为"text/html;charset=utf-8",但应为"text/xml"
是用c#.net2008做的,有那位高手知道是什么原因吗?用什么方法解决?
------------------

------解决方案--------------------
客户端发现响应内容类型为"text/html;charset=utf-8",但应为"text/xml"!!!

已经告诉你了


这个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8"); 


------解决方案--------------------
webservice?如果是的话,一般是服务器端出错了.在服务器端记录错误日志、直接以附加进程方式调试服务器代码、通过IE本地测试

------解决方案--------------------
帮顶一下
------解决方案--------------------
没有遇到过!学习
------解决方案--------------------
在程序里面直接改下就成吧?不知道,瞎猜的,主要是我从来没碰到过
------解决方案--------------------
web服务是否正常
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices> 
权限配置是否正确如network services
还有检查页面是否有<?xml version="1.0" ?>
------解决方案--------------------
通常你要为服务程序添加捕获异常的代码(try...catch....),用日志记录出错时客户端向服务器请求的数据,然后分析服务器程序问题。
------解决方案--------------------
“原因”其实很简单,你的服务程序抛出异常,结果web服务器下载错误页中定义的内容。而客户端以为获得的信息里边包含正常无异常时的xml序列化内容。

我不知道你的客户端是如何写的,如果是自己写的,那么你的客户端也不完善,它不应该简单地这样抛出提示信息。
------解决方案--------------------
有可能是转到4xx/5xx错误页面了,这样客户端读到的数据就是text/html,看起来是返回xml数据错误,其实是iis服务器出现了错误。