Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / April 2007

Tip: Looking for answers? Try searching our database.

The underlying connection was closed

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
kirk - 17 Apr 2007 16:28 GMT
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] - 17 Apr 2007 18:40 GMT
> Environment:
> c#, Framwork 2.0, Win2003 server, IIS 6.0, Copy deployment (uncompiled
[quoted text clipped - 17 lines]
> 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?
Signature


John Saunders [MVP]

kirk - 17 Apr 2007 19:19 GMT
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

>> Environment:
>> c#, Framwork 2.0, Win2003 server, IIS 6.0, Copy deployment (uncompiled
[quoted text clipped - 24 lines]
> I don't know for sure what's happening, but does your web server have SSL
> configured?
John Saunders [MVP] - 17 Apr 2007 22:18 GMT
> John,
>
[quoted text clipped - 14 lines]
> 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.
Signature

John Saunders [MVP]

kirk - 18 Apr 2007 00:13 GMT
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,
>>
[quoted text clipped - 23 lines]
> 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.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.