0

我正在尝试从 .NET 客户端应用程序调用 Web 服务(用 java 编写)。我在一个循环中调用这个网络服务,每次调用它都会返回数据包。我用提琴手监控流量。

当我使用 http 连接时,一切正常。当我尝试通过 https 连接时出现问题。对 Web 服务的第一次调用返回正确的数据(我在提琴手中有 3 个请求:制作隧道、询问证书、调用 Web 服务方法)。在第二次调用期间(fiddler 中只有 1 个条目:调用 Web 服务方法),我只收到部分响应,不能解释为有效的 xml(因为缺少标签)。我也收到

Exception:
An error (Unable to read data from the transport connection: The connection was closed.) occurred while transmitting data over the HTTP channel.

我配置了http绑定,co它不可能是由超时引起的:

<binding name="bdContractorHttpBinding_SSL" openTimeout="00:05:00" closeTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:05:00" maxReceivedMessageSize="10485760" >
   <security mode="Transport">
      <transport clientCredentialType="Basic"/>
   </security>
</binding>

你知道什么可能导致这些问题吗?

编辑:这是我放入 button_click 事件的代码:

        MyService.RequestHeader requestHeader = new MyService.RequestHeader();
        MyService.ResponseHeader responseHeader = null;

        MyService.GetDataRequest request = new MyService.GetDataRequest();
        MyService.GetDataResponset response = null;

        requestHeader.RequestID = Guid.NewGuid().ToString();
        requestHeader.Timestamp = DateTime.Now;
        request.Start = start;
        request.Count = count;
        MyService.ServiceClient service = null;

        using (service = new MyService.ServiceClient("SSL_Endpoint")
        {
            service.ClientCredentials.UserName.UserName = "xxx";
            service.ClientCredentials.UserName.Password = "xxx";
            service.Open();

            responseHeader = service.GetData(requestHeader, request, out response);

            start += count;


            service.Close();

        }
4

0 回答 0