Witam,
Napisałem prostą aplikację klient-serwer wykorzystującą .net Remoting.
Chciałem pobrać za pomocą przeglądarki definicję WSDL usługi, ale występuje błąd:
System.ArgumentNullException: No message was deserialized prior to calling the DispatchChannelSink.
Parameter name: requestMsg
at System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.Http.HttpServerTransportSink.ServiceRequest(Object state)
at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()
W celu pobrania WSDL wpisuję w przeglądarkę: http://localhost:37018/MyRemoting?WSDL
Natomiast kod serwera wygląda tak:
HttpServerChannel chan2 = new HttpServerChannel("", 37018, new SoapServerFormatterSinkProvider());
ChannelServices.RegisterChannel(chan2, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObiektRemoting), "MyRemoting", WellKnownObjectMode.Singleton);
Czy ktoś mógłby mi podpowiedzieć dlaczego występuje ten wyjątek i jak pobrać WSDL?