weird issue calling remote java web service


P

Param

Hi all,

I have a Windows Service written in Visual Studio 2008 that calls a C# dll
(.net 2.0/VS2008) that accesses a remote java web service. I have this code
running on 2 Windows 2003 R2 boxes in production sitting behind a ISA 2006
Server with the boxes configured as SecureNAT clients. Everything is running
fine. The Windows Service is able to connect and invoke the remote java web
service with no problems.

I have now added a new Windows 2008 R2 machine & configured everything
exactly the same as the Windows 2003 boxes. This box also sits on the same
network behind the ISA server. I can browse to the remote java web service
in IE w/ no problems. I get the usual page w/ the endpoint & wsdl info etc.
The problem is the Windows Service is unable to invoke this web service and
is throwing the following error:

The underlying connection was closed: An unexpected error occurred on a
send.

I have researched & researched the web and even tried the fix outlined in
the article below. It simply doesn't work. To rule out any issues with the
specific 2008 box I setup another 2008 box and the same issues persist. It
appears some behavior changed between Windows 2008 & 2003? The code is
running on .net 2.0 so really the OS shouldn't be an issue?

Any help would be very much appreciated. This issue is preventing us from
upgrading our production environment to Windows 2008 R2.

TIA!
Param
 
Ad

Advertisements

M

Mr. Arnold

Param said:
Hi all,

I have a Windows Service written in Visual Studio 2008 that calls a C#
dll (.net 2.0/VS2008) that accesses a remote java web service. I have
this code running on 2 Windows 2003 R2 boxes in production sitting
behind a ISA 2006 Server with the boxes configured as SecureNAT clients.
Everything is running fine. The Windows Service is able to connect and
invoke the remote java web service with no problems.

I have now added a new Windows 2008 R2 machine & configured everything
exactly the same as the Windows 2003 boxes. This box also sits on the
same network behind the ISA server. I can browse to the remote java web
service in IE w/ no problems. I get the usual page w/ the endpoint &
wsdl info etc. The problem is the Windows Service is unable to invoke
this web service and is throwing the following error:

The underlying connection was closed: An unexpected error occurred on a
send.

I have researched & researched the web and even tried the fix outlined
in the article below. It simply doesn't work. To rule out any issues
with the specific 2008 box I setup another 2008 box and the same issues
persist. It appears some behavior changed between Windows 2008 & 2003?
The code is running on .net 2.0 so really the OS shouldn't be an issue?

Any help would be very much appreciated. This issue is preventing us
from upgrading our production environment to Windows 2008 R2.

The O/S can be an issue as Win 2k8 is based on technology used by Win
Vista and Win 7.

Just because it runs on Win 2k3 server does it mean it's going to run on
Win 2k8 server.

You should build the solution for the platform it's intended to run on
as Win 2k3 server is not Win 2k8 server.
 
P

Param

Mr. Arnold,

How can I build the solution in VS2008 for Windows 2008? I don't see that
option anywhere. Under CPU, I have "Any Platform" selected. Is Microsoft
trying to say that customers on Windows 2003 can never upgrade to Windows
2008? I find that hard to believe.
 
M

Mr. Arnold

Param said:
Mr. Arnold,

How can I build the solution in VS2008 for Windows 2008? I don't see
that option anywhere. Under CPU, I have "Any Platform" selected. Is
Microsoft trying to say that customers on Windows 2003 can never upgrade
to Windows 2008? I find that hard to believe.

The solution could be using a DLL as an example that's for Win 2k3 and
the solution is using the interfaces of that DLL. But that same DLL it's
trying to use on Win 2k8 is for Win 2k8 and now the application doesn't
work, because what it knew about was on Win 2k3.

The application should be complied and then tested for the platform it's
intended to run on. Otherwise, you may face the problem you are now facing.

Obviously, the application blows on Win 2k8 server, and it doesn't blow
on Win 2k3 server.

I have hand things not work due to the fact that a SP was not applied
after I chased it down. It was on Win 2k3 server in testing, but it was
not applied to the production Win 2k3 server -- the same platform.

So, install VS on a Win 2k8 server and build the solution and test it on
Win 2k8.

You're problem can be a whole host of things, but you eliminate the
issue of the application not being built and tested on Win 2k8 server.
 
P

Param

I understand what you are trying to say and that is precisely what I am
trying to do. Test out whether it works on a W2008 box or not. Obviously it
doesn't work and I am looking for the solution. Simply telling me that I
need to test it on a W2008 platform does me no good. I am already in the
process of doing that.

In any event, I figured out the issue. Microsoft changed the behavior in
W2008 to first try TLS instead of SSL3 on SSL handshakes w/ remote systems.
The problem is some remote systems (mine in this case) was simply killing
the connection as it did not accept TLS. I had to add some code to tell .net
to try SSL3 on first attempt.

http://blogs.msdn.com/wndp/archive/2006/04/12/tls_enabled_by_default.aspx
 
Ad

Advertisements

M

Mr. Arnold

Param said:
I understand what you are trying to say and that is precisely what I am
trying to do. Test out whether it works on a W2008 box or not. Obviously
it doesn't work and I am looking for the solution. Simply telling me
that I need to test it on a W2008 platform does me no good. I am already
in the process of doing that.

In any event, I figured out the issue. Microsoft changed the behavior in
W2008 to first try TLS instead of SSL3 on SSL handshakes w/ remote
systems. The problem is some remote systems (mine in this case) was
simply killing the connection as it did not accept TLS. I had to add
some code to tell .net to try SSL3 on first attempt.

http://blogs.msdn.com/wndp/archive/2006/04/12/tls_enabled_by_default.aspx

So, what are you telling me here? That you tested what was code that ran
on Win 2k3 the worked on Win 2k3, and you made a code change so it would
work on Win 2k8, because the code as is did work on Win 2k8.

You discovered that Win 2k8 is different than Win 2k3. So the two
platforms are not the same. Or did you miss that point?
 
Ad

Advertisements


Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top