解决WebService/WCF调用时报错"服务器提交了协议冲突. Section=ResponseStatusLine"问题
2024-09-08 14:28:48
今天更新了一个网站,新增了一个页面,调用WebService,在测试环境好好的,部署到正式环境后就莫名报错:
服务器提交了协议冲突. Section=ResponseStatusLine
网上查了好多解决方案,有说加这个配置节的:
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true"/>
</settings>
</system.net>
然而并没有什么卵用啊!
一个偶然的发现,让我找到了真正的原因。
我在开发环境不断调试,我开了一个IE的新Session,发现WebService不能直接访问了,被代理阻止了,WTF!关掉代理,立即好了。
我是用svcutil生成的output.config嵌入到我的web.config里的,看到里面的ServiceModel是这样的:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="xxx" closeTimeout="00:01:00" ...
useDefaultWebProxy="true">
...
就是这句useDefaultWebProxy="true"让他自动使用了代理。由此可见服务器上肯定设置了什么代理,因为这个ws是通过防火墙策略做跨网段访问的,所以被自动列入了代理白名单,然而代理并不能真正访问到这个网段,于是返回的其实是被代理阻止的信息:
<Html><Body><H1> 10.xx.xx.xx is prohibited by proxy.</H1></Body></Html>
难怪会解析出错了,被耽误了不少时间。
不管是WebService还是WCF都会遇到相似的问题。记下来以免忘记。
最新文章
- kqueue例子
- centos6u3 安装 celery 总结
- C++ activemq CMS 学习笔记.
- singleCall单来源调用解析及实现
- http://www.cnblogs.com/figure9/p/developer-reading-list.html
- sql server 2008 跨服务器查询
- springboot themleaf 开发笔记
- PHP的加密解密字符串函数
- android 5.X之使用Palette
- 让项目管理理论&ldquo;落地&rdquo;&mdash;&mdash;读《IT项目经理成长手记》有感
- POJ 2983 Is the Information Reliable?(差分约束系统)
- light oj 1047-neighbor house
- android 5.0 -- 主题
- 中文分词工具thulac4j正式发布
- setTimeout,setInterval你不知道的事
- SOFA 源码分析 — 负载均衡和一致性 Hash
- Java基础知识拾遗(二)
- synchronize 关键字原理
- .NET和Java之争
- Globecom 2018 投稿过程