WebService调用异常及解决方案

Posted on 2010-06-25 16:58  sky-v  阅读(4168)  评论(0编辑  收藏  举报

1. C# 调用JAVA的WebService会出现:基础连接已经关闭: 服务器关闭了本应保持活动状态的连接的错误

 

问题可能原因之一:网速的快慢,我经过测试,如果外网访问的话网速慢就是出现此类问题,但是我没有精确测出当在网络流量最低在什么情况下可以避免此类问题

问题可能之二:程序发布之前没把原引用的web service地址去掉再编译发布。

问题可能之三:检查自已的源代码

问题可能之四:用SQL2000要升级到SP4

解决方案:
首先将引用该WebServices的程序在IDE中打开;
然后在“解决方案资源管理器”中展开“web reference”——“webservices 名”——“Reference.map”——“

Reference.cs(.vb)”;
cs文件中添加如下代码:

using System.Net;

protected override WebRequest GetWebRequest( Uri uri)
{
      HttpWebRequest  webRequest = ( HttpWebRequest)base.GetWebRequest(uri);
      webRequest.KeepAlive = false;
      webRequest.ProtocolVersion = HttpVersion.Version10;
      return webRequest;
}

 

2. 调用WebService时偶尔出现 HTTP:417错误

解决方案:

在发出请求之前添加: System.Net.ServicePointManager.Expect100Continue = false;

原因是HttpWebRequest在默认情况下发出请求会默认添加“Expect: 100-Continue”请求头。

 

 

...待续

 

Copyright © 2024 sky-v
Powered by .NET 8.0 on Kubernetes