zoukankan      html  css  js  c++  java
  • VS引用Java WebService的時候,遇到了“伺服器認可通訊協定違規”错误

    公司需要整合各系统数据,需要通过Informix的Java WebService进行数据交换,结果在添加Web引用的时候出现“伺服器认可通讯协定违规”;

    几经辗转,解决方案如下:

    在.Net2.0的machine.config中的</configuration>之前添加以下代码,注意:Web引用的层级并不是专案的Config控制的,所以必须在machine.config添加;

    1 <system.net> 
    2 <settings> 
    3 <httpWebRequest useUnsafeHeaderParsing="true"/> 
    4 </settings> 
    5 </system.net> 

    另外有的朋友在使用WebRequest的时候也遇到这种情况,有的网站用HttpWebrequest抓取网页的时候会报错,捕获异常提示:"服务器提交了协议冲突 Section=ResponseStatusLine ”,改用WebClient也是同样问题,后来知道,WebClient是对HttpWebrequest进一步进行了封装。
    最后终于找到问题根源:The  server  committed  a  protocol  violation.  Section=ResponseHeader  Detail=CR  must  be  followed  by  LF 微软没有容忍不符合RFC  822中的httpHeader必须以CRLF结束的规定的服务器响应。
    通过修改配置文件解决:在app.config(WinForm)或web.config(Web)文件里修改。

    WinForm下的app.config默认不存在,手动在Debug文件夹所在的同级目录下新建一个XML配置文件,内容为:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <system.net>
            <settings>
                <httpWebRequest  useUnsafeHeaderParsing= "true "  />
            </settings>
        </system.net>
    </configuration>
    编译以后会在Debug下面自动创建一个 程序名.exe.config 的配置文件 

  • 相关阅读:
    HDU 1874 畅通工程续(dijkstra)
    HDU 2112 HDU Today (map函数,dijkstra最短路径)
    HDU 2680 Choose the best route(dijkstra)
    HDU 2066 一个人的旅行(最短路径,dijkstra)
    关于测评机,编译器,我有些话想说
    测评机的优化问题 时间控制
    CF Round410 D. Mike and distribution
    数字三角形2 (取模)
    CF Round410 C. Mike and gcd problem
    CF Round 423 D. High Load 星图(最优最简构建)
  • 原文地址:https://www.cnblogs.com/godwar/p/1772259.html
Copyright © 2011-2022 走看看