cduden
9/1/2004 12:29:00 AM
I have tried:
Server Web.config:
<system.runtime.remoting>
<application>
<channels>
<channel ref="http">
<serverProviders>
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
<service>
<wellknown mode="SingleCall" type="NFC.UserManagement.UserManager,
NFC.UserManagement" objectUri="UserManager.rem" />
</service>
</application>
</system.runtime.remoting>
Windows Client:
<system.runtime.remoting>
<application>
<channels>
<channel type="System.Runtime.Remoting.Channels.Http.HttpChannel,
System.Runtime.Remoting"/>
<clientProviders>
<formatter
type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider,
System.Runtime.Remoting" />
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
AND:
Server web config:
<channels>
<channel ref="http">
<serverProviders>
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
Client config:
<system.runtime.remoting>
<application>
<channels>
<channel ref="http" port="0">
<clientProviders>
<formatter ref="binary" />
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
AND Countless other permutations. Using TCPTrace I can see what is being
sent and recieved -- it is either SOAP or it doesn't work. Consequently
the same calls work if I use the following:
SERVER:
<channels>
<channel ref="http">
<serverProviders>
<provider ref="wsdl" />
<formatter ref="soap" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
CLIENT:
<channels>
<channel ref="http" port="0">
<clientProviders>
<formatter ref="soap" />
</clientProviders>
</channel>
</channels>
Using the soap formater. If I attempt to specify the client formatter and
leave the server empty then it works but inspecting the payload reveals that
it is using SOAP. When I try to force binary it fails with the following
error:
Additional information: System.ArgumentNullException: No message was
deserialized prior to calling the DispatchChannelSink.
Parameter name: requestMsg
at
System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerC
hannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders
requestHeaders, Stream requestStream, IMessage& responseMsg,
ITransportHeaders& responseHeaders, Stream& responseStream)
at
System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IS
erverChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders
requestHeaders, Stream requestStream, IMessage& responseMsg,
ITransportHeaders& responseHeaders, Stream& responseStream)
at
System.Runtime.Remoting.Channels.Http.HttpHandlerTransportSink.HandleRequest
(HttpContext context)
at
System.Runtime.Remoting.Channels.Http.HttpRemotingHandler.InternalProcessReq
uest(HttpContext context)
What am I missing here? How do I set this up to work forcing the binary
formatter over HTTP (hosted in IIS).
Thanks,
CMD