my development environment in IIS 5 on a Win XP machine, but does not
work in IIS 6 on my production Win 2003 Server machine.
When debugging I get a System.Net.WebE xception with the error message
"remote server returned error 400: bad request." The strange thing is
that the Response.Respon seUri in the Exception object shows the
internal IP address of the server, not the IP address of the website.
Here are the contents of the client configuration file (I've changed
the client url for display purposes):
<?xml version="1.0" encoding="utf-8" ?>
<configuratio n>
<system.runtime .remoting>
<application>
<client displayName="Sc hedulingClient" url="http://abc.123.com/
TosdScheduling" >
<activated type="TosdSched uling.Schedulin gManager,
TosdScheduling" />
<activated type="TosdSched uling.Appointme ntType,
TosdScheduling" />
<activated type="TosdSched uling.Appointme nt, TosdScheduling" /
><activated type="TosdSched uling.RoomType, TosdScheduling" />
<activated type="TosdSched uling.Room, TosdScheduling" />
<activated type="TosdSched uling.Trainer, TosdScheduling" />
<activated type="TosdSched uling.RoomClose , TosdScheduling" />
<activated type="TosdSched uling.Recurring Close,
TosdScheduling" />
<activated type="TosdSched uling.CancelRul e, TosdScheduling" />
</client>
<channels>
<channel ref="http" />
<clientProvider s>
<format ref="binary" />
</clientProviders >
</channels>
</application>
</system.runtime. remoting>
</configuration>
And here is what the Web.config file looks like:
<?xml version="1.0" encoding="utf-8" ?>
<configuratio n>
<system.runtime .remoting>
<application>
<service>
<activated type="TosdSched uling.Schedulin gManager,
TosdScheduling" objectUri="Sche dulingManager.r em" />
<activated type="TosdSched uling.Appointme ntType,
TosdScheduling" objectUri="Appo intmentType.rem " />
<activated type="TosdSched uling.Appointme nt, TosdScheduling"
objectUri="Appo intment.rem" />
<activated type="TosdSched uling.RoomType, TosdScheduling"
objectUri="Room Type.rem" />
<activated type="TosdSched uling.Room, TosdScheduling"
objectUri="Room .rem" />
<activated type="TosdSched uling.Trainer, TosdScheduling"
objectUri="Trai ner.rem" />
<activated type="TosdSched uling.RoomClose , TosdScheduling"
objectUri="Room Close.rem" />
<activated type="TosdSched uling.Recurring Close,
TosdScheduling" objectUri="Recu rringClose.rem" />
<activated type="TosdSched uling.CancelRul e, TosdScheduling"
objectUri="Canc elRule.rem" />
</service>
<channels>
<channel ref="http" />
</channels>
</application>
</system.runtime. remoting>
<connectionStri ngs>
<add name="CSDB" providerName="i Anywhere.Data.A saClient"
connectionStrin g="x5k7UI5SvZk4 aH8hM6coIIIENBL q503iMxwUAdEgSZ MTU58+7qP/
+cou7Fsbepz0h0N dKGv72CzjFTZAxN 29Mw==" />
</connectionStrin gs>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
So basically the first request (to RemoteActivatio nService.rem) works
fine, but the following requests are routed to another IP address
configured on the same physical NIC. How is this possible?
We're running a "server farm" using the Network Load Balancing manager
to create the cluster, but this configuration has been working for web
services hosted on this same website. This remoting application is
the only thing that is somehow routing requests to an internal IP
address that is one of many assigned to the same NIC as the website.