WCF service works only with C# client on Win7 64 bit - IE can't even see it! - wcf

I have a weird situation with WCF web service running on Win7 64 bit.
First the configuration:
.NET 3.5, WCF, web service compiled for x86, running as a console app (or Windows service, doesn't make any difference in this case).
I am using basicHttpBinding. I also have aspNetCompatibilityEnabled set to "true".
I have test clients written in C#, Java, PHP, and Ruby.
Now the issue:
Everything works just fine on XP Pro, Win7 32bit, Win server 2003, Win server 2008 R2 64 bit.
When I run on Win7 64 bit, everything installs fine and the web service starts up just fine. I can run the C# client against this service and it works. When I run Java, it errors out with "Can't connect".
Also, when I type in "http://localhost:55555/RmJobService.svc" in IE 8, it comes back with a blank page right away, suggesting a connection issue. Interestingly, when the web service isn't running, IE 8 takes a lot longer to come back with an error.
Since it works on Win server 2008 R2 64 bit, this doesn't seem to be a 32/64 bit issue.
It is strange that a C# sample can consume the service...
Any help would be greatly appreciated!
thanks!
daver

There is an option in IIS 7 app pool settings to "Enable 32-bit applications." This may help since you are compiling in x86 mode.

Have you enabled the metadata exchange endpoint?

Related

Native WCF client for Windows XP

I have created program using MSVC++ that besides it's main task calls WCF server functions. Under Windows 7 and Windows 8 everything works fine and I got several problems with Windows XP:
On some machines I have error that webservice.dll is missing and program doesn't starts. Why some Windows XP installations contain webservice.dll while others - not? How to install required dll?
On Win XP computers that has webservice.dll sometimes programm just crashes without any reporting. After recompiling program without WCF client code program runs fine. What might be starting point to look for the problem?
Windows Web Services API (WWSAPI) is an operating-system component of Windows 7 and Windows Server 2008 R2 or later versions of Microsoft Windows.
On Windows XP you need to package it with your app. The reason it works on some boxes is probably caused by one other installed application that uses that the WWSAPI as well.
The final version of the Windows Web Services API for Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008 is now available
In contrast to the past pre-released version of this API, this final version release can be used in production code and redistributed with the final versions of the product. Because of this, the final version is only available to companies who agree to terms of Windows Master Redistribution License Agreement (MRLA). To acquire the redistributable installers for this release and a copy of the Windows MRLA for review, please email a formal request.
Partially copied and adapted from Windows Core Networking blog, from Ari Pernick, dated Oct 9th, 2009.

dll for machine on 64 and IIS runs as 32 bit

I have an web project which is target for framework 3.5, but the web server is 64 bit and its IIS runs on 32 bits. I need to import the dll but there are various and I don't know which one is fit for my project. There are net2.0 and net3.5. Do I use the dll for net3.5? Thanks in advance.
In IIS, under sites, there is an application pool specified for each site. You can specify there whether the application runs on 2.0 or 3.5. IIS probably already has the DLLs.

WCF Service strange Exception from Windows 8 Machine

I have a WCF Service that I am consuming in a web-application and I get strange behaviour from my Windows 8 machine:
When I compile the project from Windows 8, I get the following exception when trying to connect to the WCF Service:
The underlying connection was
closed: A connection that was expected to be kept alive was closed by
the server.
I get the same exception when I deploy it onto a Windows Server 2008.
However, if I compiled the project from Windows 7 and deploy it to the server, it works just fine.
I am using Visual Studio 2012 in both cases, although one is Premium and one is Ultimate.
After a lot of testing, it seems like when I just build and deploy the project often enough, at some point it will work, without having changed anything. It seems like the chance of getting a working project is about one in five. The Service works consistently, then, though.
If any of you have an idea what could be going on, that would be nice. If you need more info let me know.

How to install iis 6.0 on windows xp-32?

well, according to what I've found googling around, it's imposible... (maybe with with windows xp 64...)
but I thought that maybe someone could find a way to achieve it, or at least some workaround...
http://www.iisanswers.com/IISFAQ.htm
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.inetserver.iis&tid=14654991-875f-4cc6-a853-7e9f3bb96bc3&cat=en&lang=en&cr=&sloc=en-us&m=1&p=1
--
ps: I need to debug classic asp code, and my production environment is windows 2003, while my development machine is windows xp...
--
edit:
just to clarify, I can already debug classic asp code in iis 5 with vs 2003 and 2008, it's just that I stumbled upon a (very silly) bug that only appeared on iis 6 (when IIS 5 received and empty http status, it just assumed 200, while iis 6 kept asking for my credentials in an infinite loop, it was very silly in deed, but took me a lot of time -and cursing- to discover it)
IIS 6 cannot be installed on Win XP. However, debugging classic ASP code is possible on Windows XP / IIS 5.1 using Visual Studio 2003 and up. You will need to configure IIS 5.1 to "enable ASP server-side debugging" (disabled by default):
IIS settings http://www.freeimagehosting.net/uploads/f1a6f781b9.png
Here is a more detailed article on how to debug classic ASP pages in Visual Studio - link
(NOTE: When running on XP Pro/IIS 5, you need to attach to dllhost.exe instead of w3wp.exe)
You posting in your 2nd link is correct. And read the faq. That spells out why it can't be done.
One option you can do is have a virtual machine of Server 2003 running on your laptop.

WCF Self Hosted App on 64bit Windows Server

I have a windows application that acts as a WCF Service that I developed on a 32bit Windows Server 2008 box. I have tested the application and everything works fine when running it from my development machine, as well as from my 32bit workstation. However, when attempting to run the application on a 64bit Windows 2008 Server, the application does not run, and a Windows Error Report is generated stating that the application stopped working. I have attempted to build the application on my 32bit Development Workstation, targeting both x86 and x64, to no avail. The only time I can get the application to run is if I comment out the code that starts the WCF Service. So my question is, do I need to dev and/or build this application on a 64bit workstation to allow the application to run on a 64bit machine?
Ok, I figured it out, nevermind...needed to run the app as admin on that server...
You need to configure http.sys to accept your urls using the httpcfg utility. There is a similar thing for Windows Server 2003.
How to add a URL ACL and avoid AddressAccessDeniedException in Windows Vista
Httpcfg Examples: Internet Information Services (IIS)