The underlying connection was closed

Discussion in 'ASP .Net Web Services' started by kirk, Apr 17, 2007.

  1. kirk

    kirk Guest

    Environment:
    c#, Framwork 2.0, Win2003 server, IIS 6.0, Copy deployment (uncompiled
    source code deployed to server)

    I have written a web service that calls another web service. The ws I am
    calling is third party, but written in .net (unknown framework version). I
    am calling the 3rd party ws over https.
    When my ws is called without ssl everything works great. However, when my
    client is calling my ws using https, I get the following error:

    The underlying connection was closed: An unexpected error occurred on a
    receive.
    System.Net.WebResponse GetWebResponse(System.Net.WebRequest)
    ....

    I won't post the entire stack trace for size reasons.
    The error will only pop up after a number of days of everything working just
    fine. No changes on the server or the source code.

    I have seen a number of 'solutions' to this problem, but they all apply to
    1.0 and 1.1 frameworks. Does anyone know why this is happening and what I
    can do about it in 2.0?

    Thanks

    Kirk
     
    kirk, Apr 17, 2007
    #1
    1. Advertising

  2. "kirk" <> wrote in message
    news:uip$...
    > Environment:
    > c#, Framwork 2.0, Win2003 server, IIS 6.0, Copy deployment (uncompiled
    > source code deployed to server)
    >
    > I have written a web service that calls another web service. The ws I am
    > calling is third party, but written in .net (unknown framework version).
    > I am calling the 3rd party ws over https.
    > When my ws is called without ssl everything works great. However, when my
    > client is calling my ws using https, I get the following error:
    >
    > The underlying connection was closed: An unexpected error occurred on a
    > receive.
    > System.Net.WebResponse GetWebResponse(System.Net.WebRequest)
    > ...
    >
    > I won't post the entire stack trace for size reasons.
    > The error will only pop up after a number of days of everything working
    > just fine. No changes on the server or the source code.
    >
    > I have seen a number of 'solutions' to this problem, but they all apply to
    > 1.0 and 1.1 frameworks.


    What did those solutions say was the cause of the problem?

    > Does anyone know why this is happening and what I can do about it in 2.0?


    I don't know for sure what's happening, but does your web server have SSL
    configured?
    --

    John Saunders [MVP]
     
    John Saunders [MVP], Apr 17, 2007
    #2
    1. Advertising

  3. kirk

    kirk Guest

    John,

    1) The solutions I was finding on the web were all based on the 1.1 and 1.0
    framework. They involved tweaking the resource.cs file by overriding the
    WebRequest method and setting the KeepAlive = false. Basicly, force the
    creation of a new connection for every request. I guess that MS had a
    support item on it at
    'http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b819450' but
    they have since removed the topic.
    I can't follow the recommend because in VS 2005, there is no resource.cs
    file any more. this file is generated on the fly by the .net framework
    after deployment.

    2) the web service is configured for ssl using a purchased certificate.
    When my client hits my ws using https, my call to the 3rd party ws fails
    with the error stated. If I allow my client to hit my ws without ssl, my
    call to the 3rd party ws works just fine. In both cases I am hitting the
    3rd party ws using ssl.

    Kirk

    "John Saunders [MVP]" <john.saunders at trizetto.com> wrote in message
    news:...
    > "kirk" <> wrote in message
    > news:uip$...
    >> Environment:
    >> c#, Framwork 2.0, Win2003 server, IIS 6.0, Copy deployment (uncompiled
    >> source code deployed to server)
    >>
    >> I have written a web service that calls another web service. The ws I am
    >> calling is third party, but written in .net (unknown framework version).
    >> I am calling the 3rd party ws over https.
    >> When my ws is called without ssl everything works great. However, when
    >> my client is calling my ws using https, I get the following error:
    >>
    >> The underlying connection was closed: An unexpected error occurred on a
    >> receive.
    >> System.Net.WebResponse GetWebResponse(System.Net.WebRequest)
    >> ...
    >>
    >> I won't post the entire stack trace for size reasons.
    >> The error will only pop up after a number of days of everything working
    >> just fine. No changes on the server or the source code.
    >>
    >> I have seen a number of 'solutions' to this problem, but they all apply
    >> to 1.0 and 1.1 frameworks.

    >
    > What did those solutions say was the cause of the problem?
    >
    >> Does anyone know why this is happening and what I can do about it in 2.0?

    >
    > I don't know for sure what's happening, but does your web server have SSL
    > configured?
    > --
    >
    > John Saunders [MVP]
    >
    >
     
    kirk, Apr 17, 2007
    #3
  4. "kirk" <> wrote in message
    news:...
    > John,
    >
    > 1) The solutions I was finding on the web were all based on the 1.1 and
    > 1.0 framework. They involved tweaking the resource.cs file by overriding
    > the WebRequest method and setting the KeepAlive = false. Basicly, force
    > the creation of a new connection for every request. I guess that MS had a
    > support item on it at
    > 'http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b819450' but
    > they have since removed the topic.
    > I can't follow the recommend because in VS 2005, there is no resource.cs
    > file any more. this file is generated on the fly by the .net framework
    > after deployment.
    >
    > 2) the web service is configured for ssl using a purchased certificate.
    > When my client hits my ws using https, my call to the 3rd party ws fails
    > with the error stated. If I allow my client to hit my ws without ssl, my
    > call to the 3rd party ws works just fine. In both cases I am hitting the
    > 3rd party ws using ssl.


    Your call to the 3rd party ws should be independent of how your ws was
    called. The information that you were called over an SSL connection simply
    should not be able to flow to the call on the 3rd party ws.

    Unless, that is, you're doing something to couple the two. For instance, are
    you using properties of the Request to set parameters for the call to the
    3rd party ws? Look for any way that the information could be leaking from
    the call to your client into the call to the other ws.
    --
    John Saunders [MVP]
     
    John Saunders [MVP], Apr 17, 2007
    #4
  5. kirk

    kirk Guest

    John,

    Thanks for the help. your last post prompted me to look deeper at what what
    going on.
    It turns out that I had a custom component I had written named security.dll
    which was conflicting with another Security namespace used by the webserice
    I was calling. I renamed the component and the namespaces in it,
    recompiled, then after a little play got it working.
    Again, thank you.

    Kirk

    "John Saunders [MVP]" <john.saunders at trizetto.com> wrote in message
    news:eKcF%...
    > "kirk" <> wrote in message
    > news:...
    >> John,
    >>
    >> 1) The solutions I was finding on the web were all based on the 1.1 and
    >> 1.0 framework. They involved tweaking the resource.cs file by overriding
    >> the WebRequest method and setting the KeepAlive = false. Basicly, force
    >> the creation of a new connection for every request. I guess that MS had
    >> a support item on it at
    >> 'http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b819450' but
    >> they have since removed the topic.
    >> I can't follow the recommend because in VS 2005, there is no resource.cs
    >> file any more. this file is generated on the fly by the .net framework
    >> after deployment.
    >>
    >> 2) the web service is configured for ssl using a purchased certificate.
    >> When my client hits my ws using https, my call to the 3rd party ws fails
    >> with the error stated. If I allow my client to hit my ws without ssl, my
    >> call to the 3rd party ws works just fine. In both cases I am hitting the
    >> 3rd party ws using ssl.

    >
    > Your call to the 3rd party ws should be independent of how your ws was
    > called. The information that you were called over an SSL connection simply
    > should not be able to flow to the call on the 3rd party ws.
    >
    > Unless, that is, you're doing something to couple the two. For instance,
    > are you using properties of the Request to set parameters for the call to
    > the 3rd party ws? Look for any way that the information could be leaking
    > from the call to your client into the call to the other ws.
    > --
    > John Saunders [MVP]
    >
    >
     
    kirk, Apr 18, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. sumit

    Underlying connection was closed

    sumit, Nov 1, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    382
    sumit
    Nov 1, 2003
  2. Steven Cheng[MSFT]
    Replies:
    4
    Views:
    1,683
    Steven Cheng[MSFT]
    Apr 8, 2004
  3. Luis Esteban Valencia
    Replies:
    0
    Views:
    416
    Luis Esteban Valencia
    Oct 26, 2004
  4. Jack Wright
    Replies:
    3
    Views:
    1,872
    Jack Wright
    Dec 6, 2004
  5. Apu Nahasapeemapetilon

    Established connection aborted and underlying connection closed

    Apu Nahasapeemapetilon, Nov 6, 2006, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    243
    Apu Nahasapeemapetilon
    Nov 6, 2006
Loading...

Share This Page