Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Web Services (http://www.velocityreviews.com/forums/f64-asp-net-web-services.html)
-   -   The underlying connection was closed (http://www.velocityreviews.com/forums/t787031-the-underlying-connection-was-closed.html)

kirk 04-17-2007 03:28 PM

The underlying connection was closed
 
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



John Saunders [MVP] 04-17-2007 05:40 PM

Re: The underlying connection was closed
 
"kirk" <nokirkspam@krgitsoftware.com> wrote in message
news:uip$7TQgHHA.4916@TK2MSFTNGP06.phx.gbl...
> 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 04-17-2007 06:19 PM

Re: The underlying connection was closed
 
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:uJOhQeRgHHA.4260@TK2MSFTNGP03.phx.gbl...
> "kirk" <nokirkspam@krgitsoftware.com> wrote in message
> news:uip$7TQgHHA.4916@TK2MSFTNGP06.phx.gbl...
>> 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] 04-17-2007 09:18 PM

Re: The underlying connection was closed
 
"kirk" <nokirkspam@krgitsoftware.com> wrote in message
news:OtgzjzRgHHA.4704@TK2MSFTNGP06.phx.gbl...
> 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 04-17-2007 11:13 PM

Re: The underlying connection was closed
 
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%23XTgHHA.4708@TK2MSFTNGP04.phx.gbl...
> "kirk" <nokirkspam@krgitsoftware.com> wrote in message
> news:OtgzjzRgHHA.4704@TK2MSFTNGP06.phx.gbl...
>> 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]
>
>





All times are GMT. The time now is 08:07 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.