dotnet web services:
Hi @all, this is not my first webservice and everytime it worked that way, by now i got following exception when trying to call http://<url>?wsdl in my browser: System.NullReferenceException: Object reference not set to an instance of an object. at System.Runtime.Remoting.MetadataServices.WsdlGenerator.RealSchemaType.PrintMessageWsdl(TextWriter textWriter, StringBuilder sb, String indent, ArrayList refNames) at System.Runtime.Remoting.MetadataServices.WsdlGenerator.XMLNamespace.PrintMessageWsdl(TextWriter textWriter, StringBuilder sb, String indent, ArrayList refNames) at System.Runtime.Remoting.MetadataServices.WsdlGenerator.PrintWsdl() at System.Runtime.Remoting.MetadataServices.WsdlGenerator.Generate() at System.Runtime.Remoting.MetadataServices.MetaData.ConvertTypesToSchemaToStream(ServiceType[] serviceTypes, SdlType sdlType, Stream outputStream) at System.Runtime.Remoting.MetadataServices.SdlChannelSink.GenerateSdl(SdlType sdlType, IServerResponseChannelSinkStack sinkStack, ITransportHeaders requestHeaders, ITransportHeaders responseHeaders, Stream& outputStream) at System.Runtime.Remoting.MetadataServices.SdlChannelSink.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() The class is more than simple: class UserProvider : MarshalByRefObject { public UserProvider() { } public User[] search(User user, int offset, int limit) { User[] users = user.Search(offset, limit); return users; } } W/o the method it works (but also w/o any function ;-). This class gets registered as WellKnownService in an HttpChannel to provide the webservice functionality. It is the second Service registered there, but as the only one it doesn't work either. Any hint?
[quoted text, click to view] Thorsten Viel wrote:
it seems that my Object User is the problem. But I work sometimes with own classes. And normally they got defined as complex types in wsdl. [quoted text, click to view] > Hi @all, > > this is not my first webservice and everytime it worked that way, by now i > got following exception when trying to call http://<url>?wsdl in my > browser: > > System.NullReferenceException: Object reference not set to an instance of > an object. > at > System.Runtime.Remoting.MetadataServices.WsdlGenerator.RealSchemaType.PrintMessageWsdl(TextWriter > textWriter, StringBuilder sb, String indent, ArrayList refNames) > at > System.Runtime.Remoting.MetadataServices.WsdlGenerator.XMLNamespace.PrintMessageWsdl(TextWriter > textWriter, StringBuilder sb, String indent, ArrayList refNames) > at System.Runtime.Remoting.MetadataServices.WsdlGenerator.PrintWsdl() > at System.Runtime.Remoting.MetadataServices.WsdlGenerator.Generate() > at > System.Runtime.Remoting.MetadataServices.MetaData.ConvertTypesToSchemaToStream(ServiceType[] > serviceTypes, SdlType sdlType, Stream outputStream) > at > System.Runtime.Remoting.MetadataServices.SdlChannelSink.GenerateSdl(SdlType > sdlType, IServerResponseChannelSinkStack sinkStack, ITransportHeaders > requestHeaders, ITransportHeaders responseHeaders, Stream& outputStream) > at > System.Runtime.Remoting.MetadataServices.SdlChannelSink.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() > > > > The class is more than simple: > > class UserProvider : MarshalByRefObject { > > public UserProvider() { > } > > public User[] search(User user, int offset, int limit) { > > User[] users = user.Search(offset, limit); > return users; > } > } > > > W/o the method it works (but also w/o any function ;-). > > This class gets registered as WellKnownService in an HttpChannel to > provide the webservice functionality. It is the second Service registered > there, but as the only one it doesn't work either. > > Any hint? > > Thanks Thorsten
Huh, this is really weird! It is because, the base class of User implements a simple interface with two methods. Shouldn't be the problem, or? Thorsten [quoted text, click to view] Thorsten Viel wrote: > Thorsten Viel wrote: > > it seems that my Object User is the problem. But I work sometimes with own > classes. And normally they got defined as complex types in wsdl. > > > >> Hi @all, >> >> this is not my first webservice and everytime it worked that way, by now >> i got following exception when trying to call http://<url>?wsdl in my >> browser: >> >> System.NullReferenceException: Object reference not set to an instance of >> an object. >> at >> > System.Runtime.Remoting.MetadataServices.WsdlGenerator.RealSchemaType.PrintMessageWsdl(TextWriter >> textWriter, StringBuilder sb, String indent, ArrayList refNames) >> at >> > System.Runtime.Remoting.MetadataServices.WsdlGenerator.XMLNamespace.PrintMessageWsdl(TextWriter >> textWriter, StringBuilder sb, String indent, ArrayList refNames) >> at System.Runtime.Remoting.MetadataServices.WsdlGenerator.PrintWsdl() >> at System.Runtime.Remoting.MetadataServices.WsdlGenerator.Generate() >> at >> > System.Runtime.Remoting.MetadataServices.MetaData.ConvertTypesToSchemaToStream(ServiceType[] >> serviceTypes, SdlType sdlType, Stream outputStream) >> at >> > System.Runtime.Remoting.MetadataServices.SdlChannelSink.GenerateSdl(SdlType >> sdlType, IServerResponseChannelSinkStack sinkStack, ITransportHeaders >> requestHeaders, ITransportHeaders responseHeaders, Stream& outputStream) >> at >> > System.Runtime.Remoting.MetadataServices.SdlChannelSink.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() >> >> >> >> The class is more than simple: >> >> class UserProvider : MarshalByRefObject { >> >> public UserProvider() { >> } >> >> public User[] search(User user, int offset, int limit) { >> >> User[] users = user.Search(offset, limit); >> return users; >> } >> } >> >> >> W/o the method it works (but also w/o any function ;-). >> >> This class gets registered as WellKnownService in an HttpChannel to >> provide the webservice functionality. It is the second Service registered >> there, but as the only one it doesn't work either. >> >> Any hint? >> >> Thanks Thorsten
Don't see what you're looking for? Try a search.
|