Dataset retunring Null ..a guru's opinion required!

Discussion in 'ASP .Net Web Services' started by Nab, Sep 11, 2008.

  1. Nab

    Nab Guest

    I hope someone could shed some light on this issue. Is this relating to some
    “bug†in Visual Basic 2008 or am I doing something wrong here? I have
    established a connection to a Microsoft Access database using the GUI
    e.g. dragging the OleDbConnection icon on the
    toolbox to the design area to establish the connection (i.e. not in code).
    This process creates a connection object and an OleDbAdapter object (which I
    named estateOleAdapter as you can see in my web service’s code):

    <WebMethod()> _
    Public Function GetEstateAgents() As DataSet
    Dim estateDataset As DataSet = New DataSet
    estateOleAdapter.Fill(estateDataset, "EstateAgents")
    Return estateDataset
    estateOleConnection.Close()
    End Function

    I also tried
    to establish the connection and adapter in code but continue to have the same
    problem.

    Whenever I try to consume this service (using a web or even a windows
    application this exception comes up):

    System.ServiceModel.FaultException was unhandled by user code
    Message="System.Web.Services.Protocols.SoapException: Server was unable to
    process request. ---> System.NullReferenceException: Object reference not set
    to an instance of an object. at
    WebServiceLiverpoolUKEstateAgents.Service1.GetEstateAgents() in
    C:\Hope\modules i teach\web services\handout
    exercises\chapter5\WebServiceLiverpoolUKEstateAgents\WebServiceLiverpoolUKEstateAgents\LiverpoolUKEstateAgents.asmx.vb:line
    29 --- End of inner exception stack trace ---"
    Source="mscorlib"
    StackTrace:
    Server stack trace: at
    System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime
    operation, ProxyRpc& rpc) at
    System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs,
    TimeSpan timeout) at
    System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs) at
    System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
    methodCall, ProxyOperationRuntime operation) at
    System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    Exception rethrown at [0]: at
    System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    reqMsg, IMessage retMsg) at
    System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
    Int32 type) at
    ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1Soap.GetEstateAgents()
    at
    ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1SoapClient.GetEstateAgents()
    in C:\Hope\modules i teach\web services\handout
    exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Service
    References\WebServiceLiverpoolUKEstateAgents\Reference.vb:line 59 at
    ClientLiverpoolUKEstateAgents._Default.form1_Load(Object sender, EventArgs e)
    in C:\Hope\modules i teach\web services\handout
    exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Default.aspx.vb:line
    19 at System.Web.UI.Control.OnLoad(EventArgs e) at
    System.Web.UI.Control.LoadRecursive() at
    System.Web.UI.Control.LoadRecursive() at
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
    Boolean includeStagesAfterAsyncPoint)
    InnerException:

    This is the code (inserted in a command’s click procedure) that I used to
    consume the service:

    Dim eaService As New WebServiceLiverpoolUKEstateAgents.Service1SoapClient

    'Supply the dataset to become the DataGrid's datasource
    'dgEstateAgents.DataSource = eaService.GetEstateAgents

    dgEstateAgents.DataSource = eaService.GetEstateAgents

    'Bind the data to the datagrid by transferring
    'it from the dataset to the datagrid

    dgEstateAgents.DataBind()

    The dgEstateAgents is the name of the datagrid which I created using the
    GUI. When adding a reference, I tried “Add Service Reference†and I also
    tried “Add Web Referenceâ€, neither worked.

    To ensure that my web service is well connected to my Access database, I
    would sometimes click on the Data icon on the menu bar and select Preview
    Data and then click to populate the dataset. Sometimes this results in the
    display of the database’s table. However, when I try to do same thing other
    times I get a window that says: "Value cannot be null. Parameter name:
    serviceProvider" which leads me to conclude that the dataset is empty. If I
    close that web service and relaunch it I don’t get this "Value cannot be
    null. Parameter name: serviceProvider" error!!


    In either case, my client application halts on this line
    dgEstateAgents.DataSource = eaService.GetEstateAgents
    every time I try to consume the service and throws the exception listed above.

    The operation system I use is Vista (business edition).

    When I used VS 2005 in the past I had no such errors and the web service was
    consumed without any problems. So, I am really clueless here!





    --
    UK
     
    Nab, Sep 11, 2008
    #1
    1. Advertising

  2. Nab

    Nab Guest

    Thanks Patrice. The estateOleAdapter is created automatically (I renamed it
    estateOleAdapter) when the connection was created using the GUI. You're right
    to say its "Nothing" as when I debug the client "Nothing" is shown as the
    returned value. So, what do you suggest should be done and why did this
    problem not surface when I used VB005?
    --
    UK


    "Patrice" wrote:

    > How is estateOleAdapter initialized ?
    >
    > My guess is that this is Nothing so you have a null reference exception when
    > you call this web method...
    >
    > --
    > Patrice
    >
    > "Nab" <> a crit dans le message de groupe de
    > discussion : ...
    > > I hope someone could shed some light on this issue. Is this relating to
    > > some
    > > "bug" in Visual Basic 2008 or am I doing something wrong here? I have
    > > established a connection to a Microsoft Access database using the GUI
    > > e.g. dragging the OleDbConnection icon on the
    > > toolbox to the design area to establish the connection (i.e. not in code).
    > > This process creates a connection object and an OleDbAdapter object (which
    > > I
    > > named estateOleAdapter as you can see in my web service's code):
    > >
    > > <WebMethod()> _
    > > Public Function GetEstateAgents() As DataSet
    > > Dim estateDataset As DataSet = New DataSet
    > > estateOleAdapter.Fill(estateDataset, "EstateAgents")
    > > Return estateDataset
    > > estateOleConnection.Close()
    > > End Function
    > >
    > > I also tried
    > > to establish the connection and adapter in code but continue to have the
    > > same
    > > problem.
    > >
    > > Whenever I try to consume this service (using a web or even a windows
    > > application this exception comes up):
    > >
    > > System.ServiceModel.FaultException was unhandled by user code
    > > Message="System.Web.Services.Protocols.SoapException: Server was unable
    > > to
    > > process request. ---> System.NullReferenceException: Object reference not
    > > set
    > > to an instance of an object. at
    > > WebServiceLiverpoolUKEstateAgents.Service1.GetEstateAgents() in
    > > C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\WebServiceLiverpoolUKEstateAgents\WebServiceLiverpoolUKEstateAgents\LiverpoolUKEstateAgents.asmx.vb:line
    > > 29 --- End of inner exception stack trace ---"
    > > Source="mscorlib"
    > > StackTrace:
    > > Server stack trace: at
    > > System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime
    > > operation, ProxyRpc& rpc) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs,
    > > TimeSpan timeout) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
    > > at
    > > System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
    > > methodCall, ProxyOperationRuntime operation) at
    > > System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    > > Exception rethrown at [0]: at
    > > System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > > reqMsg, IMessage retMsg) at
    > > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
    > > msgData,
    > > Int32 type) at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1Soap.GetEstateAgents()
    > > at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1SoapClient.GetEstateAgents()
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Service
    > > References\WebServiceLiverpoolUKEstateAgents\Reference.vb:line 59 at
    > > ClientLiverpoolUKEstateAgents._Default.form1_Load(Object sender, EventArgs
    > > e)
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Default.aspx.vb:line
    > > 19 at System.Web.UI.Control.OnLoad(EventArgs e) at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Page.ProcessRequestMain(Boolean
    > > includeStagesBeforeAsyncPoint,
    > > Boolean includeStagesAfterAsyncPoint)
    > > InnerException:
    > >
    > > This is the code (inserted in a command's click procedure) that I used to
    > > consume the service:
    > >
    > > Dim eaService As New WebServiceLiverpoolUKEstateAgents.Service1SoapClient
    > >
    > > 'Supply the dataset to become the DataGrid's datasource
    > > 'dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > 'Bind the data to the datagrid by transferring
    > > 'it from the dataset to the datagrid
    > >
    > > dgEstateAgents.DataBind()
    > >
    > > The dgEstateAgents is the name of the datagrid which I created using the
    > > GUI. When adding a reference, I tried "Add Service Reference" and I also
    > > tried "Add Web Reference", neither worked.
    > >
    > > To ensure that my web service is well connected to my Access database, I
    > > would sometimes click on the Data icon on the menu bar and select Preview
    > > Data and then click to populate the dataset. Sometimes this results in
    > > the
    > > display of the database's table. However, when I try to do same thing
    > > other
    > > times I get a window that says: "Value cannot be null. Parameter name:
    > > serviceProvider" which leads me to conclude that the dataset is empty. If
    > > I
    > > close that web service and relaunch it I don't get this "Value cannot be
    > > null. Parameter name: serviceProvider" error!!
    > >
    > >
    > > In either case, my client application halts on this line
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > > every time I try to consume the service and throws the exception listed
    > > above.
    > >
    > > The operation system I use is Vista (business edition).
    > >
    > > When I used VS 2005 in the past I had no such errors and the web service
    > > was
    > > consumed without any problems. So, I am really clueless here!
    > >
    > >
    > >
    > >
    > >
    > > --
    > > UK

    >
    >
     
    Nab, Sep 11, 2008
    #2
    1. Advertising

  3. Nab

    Nab Guest

    I deleted the oleadapter created by the GUI and declared it in code e.g.:
    Dim estateOleAdapter As New OleDbDataAdapter

    and updated the service reference in the client..but the same exception is
    still thrown. Could you possibly test this scenario on your PC (if you have
    VS2008)? Remember that the web service is connected to an Access (not SQL
    Server) database?
    UK


    "Patrice" wrote:

    > How is estateOleAdapter initialized ?
    >
    > My guess is that this is Nothing so you have a null reference exception when
    > you call this web method...
    >
    > --
    > Patrice
    >
    > "Nab" <> a crit dans le message de groupe de
    > discussion : ...
    > > I hope someone could shed some light on this issue. Is this relating to
    > > some
    > > "bug" in Visual Basic 2008 or am I doing something wrong here? I have
    > > established a connection to a Microsoft Access database using the GUI
    > > e.g. dragging the OleDbConnection icon on the
    > > toolbox to the design area to establish the connection (i.e. not in code).
    > > This process creates a connection object and an OleDbAdapter object (which
    > > I
    > > named estateOleAdapter as you can see in my web service's code):
    > >
    > > <WebMethod()> _
    > > Public Function GetEstateAgents() As DataSet
    > > Dim estateDataset As DataSet = New DataSet
    > > estateOleAdapter.Fill(estateDataset, "EstateAgents")
    > > Return estateDataset
    > > estateOleConnection.Close()
    > > End Function
    > >
    > > I also tried
    > > to establish the connection and adapter in code but continue to have the
    > > same
    > > problem.
    > >
    > > Whenever I try to consume this service (using a web or even a windows
    > > application this exception comes up):
    > >
    > > System.ServiceModel.FaultException was unhandled by user code
    > > Message="System.Web.Services.Protocols.SoapException: Server was unable
    > > to
    > > process request. ---> System.NullReferenceException: Object reference not
    > > set
    > > to an instance of an object. at
    > > WebServiceLiverpoolUKEstateAgents.Service1.GetEstateAgents() in
    > > C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\WebServiceLiverpoolUKEstateAgents\WebServiceLiverpoolUKEstateAgents\LiverpoolUKEstateAgents.asmx.vb:line
    > > 29 --- End of inner exception stack trace ---"
    > > Source="mscorlib"
    > > StackTrace:
    > > Server stack trace: at
    > > System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime
    > > operation, ProxyRpc& rpc) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs,
    > > TimeSpan timeout) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
    > > at
    > > System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
    > > methodCall, ProxyOperationRuntime operation) at
    > > System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    > > Exception rethrown at [0]: at
    > > System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > > reqMsg, IMessage retMsg) at
    > > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
    > > msgData,
    > > Int32 type) at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1Soap.GetEstateAgents()
    > > at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1SoapClient.GetEstateAgents()
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Service
    > > References\WebServiceLiverpoolUKEstateAgents\Reference.vb:line 59 at
    > > ClientLiverpoolUKEstateAgents._Default.form1_Load(Object sender, EventArgs
    > > e)
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Default.aspx.vb:line
    > > 19 at System.Web.UI.Control.OnLoad(EventArgs e) at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Page.ProcessRequestMain(Boolean
    > > includeStagesBeforeAsyncPoint,
    > > Boolean includeStagesAfterAsyncPoint)
    > > InnerException:
    > >
    > > This is the code (inserted in a command's click procedure) that I used to
    > > consume the service:
    > >
    > > Dim eaService As New WebServiceLiverpoolUKEstateAgents.Service1SoapClient
    > >
    > > 'Supply the dataset to become the DataGrid's datasource
    > > 'dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > 'Bind the data to the datagrid by transferring
    > > 'it from the dataset to the datagrid
    > >
    > > dgEstateAgents.DataBind()
    > >
    > > The dgEstateAgents is the name of the datagrid which I created using the
    > > GUI. When adding a reference, I tried "Add Service Reference" and I also
    > > tried "Add Web Reference", neither worked.
    > >
    > > To ensure that my web service is well connected to my Access database, I
    > > would sometimes click on the Data icon on the menu bar and select Preview
    > > Data and then click to populate the dataset. Sometimes this results in
    > > the
    > > display of the database's table. However, when I try to do same thing
    > > other
    > > times I get a window that says: "Value cannot be null. Parameter name:
    > > serviceProvider" which leads me to conclude that the dataset is empty. If
    > > I
    > > close that web service and relaunch it I don't get this "Value cannot be
    > > null. Parameter name: serviceProvider" error!!
    > >
    > >
    > > In either case, my client application halts on this line
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > > every time I try to consume the service and throws the exception listed
    > > above.
    > >
    > > The operation system I use is Vista (business edition).
    > >
    > > When I used VS 2005 in the past I had no such errors and the web service
    > > was
    > > consumed without any problems. So, I am really clueless here!
    > >
    > >
    > >
    > >
    > >
    > > --
    > > UK

    >
    >
     
    Nab, Sep 11, 2008
    #3
  4. Nab

    Nab Guest

    When I invoke the service i now get this error:

    System.InvalidOperationException: Fill: SelectCommand.Connection property
    has not been initialized.
    at System.Data.Common.DbDataAdapter.GetConnection3(DbDataAdapter adapter,
    IDbCommand command, String method)
    at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,
    DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable,
    IDbCommand command, CommandBehavior behavior)
    at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
    startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
    CommandBehavior behavior)
    at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)

    I initialised the adapter by doing this:

    Dim str As String = "SELECT EstateAgents.*.* FROM EstateAgents"

    Dim estateOleAdapter As New OleDbDataAdapter(str, estateOleConnection)

    But that didn't help.

    I initialised the adapter:

    at WebServiceLiverpoolUKEstateAgents.Service1.GetEstateAgents() in
    C:\Hope\modules i teach\web services\handout
    exercises\chapter5\WebServiceLiverpoolUKEstateAgents
    -
    UK


    "Patrice" wrote:

    > How is estateOleAdapter initialized ?
    >
    > My guess is that this is Nothing so you have a null reference exception when
    > you call this web method...
    >
    > --
    > Patrice
    >
    > "Nab" <> a crit dans le message de groupe de
    > discussion : ...
    > > I hope someone could shed some light on this issue. Is this relating to
    > > some
    > > "bug" in Visual Basic 2008 or am I doing something wrong here? I have
    > > established a connection to a Microsoft Access database using the GUI
    > > e.g. dragging the OleDbConnection icon on the
    > > toolbox to the design area to establish the connection (i.e. not in code).
    > > This process creates a connection object and an OleDbAdapter object (which
    > > I
    > > named estateOleAdapter as you can see in my web service's code):
    > >
    > > <WebMethod()> _
    > > Public Function GetEstateAgents() As DataSet
    > > Dim estateDataset As DataSet = New DataSet
    > > estateOleAdapter.Fill(estateDataset, "EstateAgents")
    > > Return estateDataset
    > > estateOleConnection.Close()
    > > End Function
    > >
    > > I also tried
    > > to establish the connection and adapter in code but continue to have the
    > > same
    > > problem.
    > >
    > > Whenever I try to consume this service (using a web or even a windows
    > > application this exception comes up):
    > >
    > > System.ServiceModel.FaultException was unhandled by user code
    > > Message="System.Web.Services.Protocols.SoapException: Server was unable
    > > to
    > > process request. ---> System.NullReferenceException: Object reference not
    > > set
    > > to an instance of an object. at
    > > WebServiceLiverpoolUKEstateAgents.Service1.GetEstateAgents() in
    > > C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\WebServiceLiverpoolUKEstateAgents\WebServiceLiverpoolUKEstateAgents\LiverpoolUKEstateAgents.asmx.vb:line
    > > 29 --- End of inner exception stack trace ---"
    > > Source="mscorlib"
    > > StackTrace:
    > > Server stack trace: at
    > > System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime
    > > operation, ProxyRpc& rpc) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs,
    > > TimeSpan timeout) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
    > > at
    > > System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
    > > methodCall, ProxyOperationRuntime operation) at
    > > System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    > > Exception rethrown at [0]: at
    > > System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > > reqMsg, IMessage retMsg) at
    > > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
    > > msgData,
    > > Int32 type) at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1Soap.GetEstateAgents()
    > > at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1SoapClient.GetEstateAgents()
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Service
    > > References\WebServiceLiverpoolUKEstateAgents\Reference.vb:line 59 at
    > > ClientLiverpoolUKEstateAgents._Default.form1_Load(Object sender, EventArgs
    > > e)
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Default.aspx.vb:line
    > > 19 at System.Web.UI.Control.OnLoad(EventArgs e) at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Page.ProcessRequestMain(Boolean
    > > includeStagesBeforeAsyncPoint,
    > > Boolean includeStagesAfterAsyncPoint)
    > > InnerException:
    > >
    > > This is the code (inserted in a command's click procedure) that I used to
    > > consume the service:
    > >
    > > Dim eaService As New WebServiceLiverpoolUKEstateAgents.Service1SoapClient
    > >
    > > 'Supply the dataset to become the DataGrid's datasource
    > > 'dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > 'Bind the data to the datagrid by transferring
    > > 'it from the dataset to the datagrid
    > >
    > > dgEstateAgents.DataBind()
    > >
    > > The dgEstateAgents is the name of the datagrid which I created using the
    > > GUI. When adding a reference, I tried "Add Service Reference" and I also
    > > tried "Add Web Reference", neither worked.
    > >
    > > To ensure that my web service is well connected to my Access database, I
    > > would sometimes click on the Data icon on the menu bar and select Preview
    > > Data and then click to populate the dataset. Sometimes this results in
    > > the
    > > display of the database's table. However, when I try to do same thing
    > > other
    > > times I get a window that says: "Value cannot be null. Parameter name:
    > > serviceProvider" which leads me to conclude that the dataset is empty. If
    > > I
    > > close that web service and relaunch it I don't get this "Value cannot be
    > > null. Parameter name: serviceProvider" error!!
    > >
    > >
    > > In either case, my client application halts on this line
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > > every time I try to consume the service and throws the exception listed
    > > above.
    > >
    > > The operation system I use is Vista (business edition).
    > >
    > > When I used VS 2005 in the past I had no such errors and the web service
    > > was
    > > consumed without any problems. So, I am really clueless here!
    > >
    > >
    > >
    > >
    > >
    > > --
    > > UK

    >
    >
     
    Nab, Sep 11, 2008
    #4
  5. Nab

    Nab Guest

    It now works but I had to code it this way:

    Public Function GetEstateAgents() As DataSet
    Dim str As String = "SELECT EstateAgents.* FROM EstateAgents"
    Dim strConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data
    Source= C:\Hope\modules i teach\web services\handout
    exercises\chapter5\LpoolEstateAgents.mdb"
    Dim estateDataset As DataSet = New DataSet
    Dim estateOleAdapter As New OleDbDataAdapter(str, strConnString)
    estateOleAdapter.Fill(estateDataset, "EstateAgents")
    Return estateDataset
    estateOleConnection.Close()
    End Function

    The GUI way of coonecting to an Access database that worked in VB2005 does
    not seem to apply to VB2008!
    --
    UK


    "Patrice" wrote:

    > How is estateOleAdapter initialized ?
    >
    > My guess is that this is Nothing so you have a null reference exception when
    > you call this web method...
    >
    > --
    > Patrice
    >
    > "Nab" <> a crit dans le message de groupe de
    > discussion : ...
    > > I hope someone could shed some light on this issue. Is this relating to
    > > some
    > > "bug" in Visual Basic 2008 or am I doing something wrong here? I have
    > > established a connection to a Microsoft Access database using the GUI
    > > e.g. dragging the OleDbConnection icon on the
    > > toolbox to the design area to establish the connection (i.e. not in code).
    > > This process creates a connection object and an OleDbAdapter object (which
    > > I
    > > named estateOleAdapter as you can see in my web service's code):
    > >
    > > <WebMethod()> _
    > > Public Function GetEstateAgents() As DataSet
    > > Dim estateDataset As DataSet = New DataSet
    > > estateOleAdapter.Fill(estateDataset, "EstateAgents")
    > > Return estateDataset
    > > estateOleConnection.Close()
    > > End Function
    > >
    > > I also tried
    > > to establish the connection and adapter in code but continue to have the
    > > same
    > > problem.
    > >
    > > Whenever I try to consume this service (using a web or even a windows
    > > application this exception comes up):
    > >
    > > System.ServiceModel.FaultException was unhandled by user code
    > > Message="System.Web.Services.Protocols.SoapException: Server was unable
    > > to
    > > process request. ---> System.NullReferenceException: Object reference not
    > > set
    > > to an instance of an object. at
    > > WebServiceLiverpoolUKEstateAgents.Service1.GetEstateAgents() in
    > > C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\WebServiceLiverpoolUKEstateAgents\WebServiceLiverpoolUKEstateAgents\LiverpoolUKEstateAgents.asmx.vb:line
    > > 29 --- End of inner exception stack trace ---"
    > > Source="mscorlib"
    > > StackTrace:
    > > Server stack trace: at
    > > System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime
    > > operation, ProxyRpc& rpc) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs,
    > > TimeSpan timeout) at
    > > System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
    > > oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
    > > at
    > > System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
    > > methodCall, ProxyOperationRuntime operation) at
    > > System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    > > Exception rethrown at [0]: at
    > > System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
    > > reqMsg, IMessage retMsg) at
    > > System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
    > > msgData,
    > > Int32 type) at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1Soap.GetEstateAgents()
    > > at
    > > ClientLiverpoolUKEstateAgents.WebServiceLiverpoolUKEstateAgents.Service1SoapClient.GetEstateAgents()
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Service
    > > References\WebServiceLiverpoolUKEstateAgents\Reference.vb:line 59 at
    > > ClientLiverpoolUKEstateAgents._Default.form1_Load(Object sender, EventArgs
    > > e)
    > > in C:\Hope\modules i teach\web services\handout
    > > exercises\chapter5\ClientLiverpoolUKEstateAgents\ClientLiverpoolUKEstateAgents\Default.aspx.vb:line
    > > 19 at System.Web.UI.Control.OnLoad(EventArgs e) at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Control.LoadRecursive() at
    > > System.Web.UI.Page.ProcessRequestMain(Boolean
    > > includeStagesBeforeAsyncPoint,
    > > Boolean includeStagesAfterAsyncPoint)
    > > InnerException:
    > >
    > > This is the code (inserted in a command's click procedure) that I used to
    > > consume the service:
    > >
    > > Dim eaService As New WebServiceLiverpoolUKEstateAgents.Service1SoapClient
    > >
    > > 'Supply the dataset to become the DataGrid's datasource
    > > 'dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > >
    > > 'Bind the data to the datagrid by transferring
    > > 'it from the dataset to the datagrid
    > >
    > > dgEstateAgents.DataBind()
    > >
    > > The dgEstateAgents is the name of the datagrid which I created using the
    > > GUI. When adding a reference, I tried "Add Service Reference" and I also
    > > tried "Add Web Reference", neither worked.
    > >
    > > To ensure that my web service is well connected to my Access database, I
    > > would sometimes click on the Data icon on the menu bar and select Preview
    > > Data and then click to populate the dataset. Sometimes this results in
    > > the
    > > display of the database's table. However, when I try to do same thing
    > > other
    > > times I get a window that says: "Value cannot be null. Parameter name:
    > > serviceProvider" which leads me to conclude that the dataset is empty. If
    > > I
    > > close that web service and relaunch it I don't get this "Value cannot be
    > > null. Parameter name: serviceProvider" error!!
    > >
    > >
    > > In either case, my client application halts on this line
    > > dgEstateAgents.DataSource = eaService.GetEstateAgents
    > > every time I try to consume the service and throws the exception listed
    > > above.
    > >
    > > The operation system I use is Vista (business edition).
    > >
    > > When I used VS 2005 in the past I had no such errors and the web service
    > > was
    > > consumed without any problems. So, I am really clueless here!
    > >
    > >
    > >
    > >
    > >
    > > --
    > > UK

    >
    >
     
    Nab, Sep 11, 2008
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jonathan Bromley

    LRM guru question

    Jonathan Bromley, Oct 30, 2003, in forum: VHDL
    Replies:
    3
    Views:
    693
    Deb P
    Oct 31, 2003
  2. Just D.
    Replies:
    0
    Views:
    454
    Just D.
    Mar 10, 2006
  3. Replies:
    5
    Views:
    26,957
    Mike Schilling
    Mar 29, 2006
  4. Replies:
    4
    Views:
    656
  5. Andy
    Replies:
    1
    Views:
    165
    Eidolon
    May 7, 2004
Loading...

Share This Page