I had this problem as well. In my case it was because MIDAS.DLL was not
installed on the server machine.
This is basically a "catch all" error. If you look at the as_getrecords
method in the SoapDM.pas file (that ships with D6) you'll see that they've
wrapped the call to Providers.GetRecords in try/finally block, which means
that any error in the GetRecords routine will be "eaten" by the try/finally
block. This results in no data packets being returned to the client, which
is why the client reports the error.
Another possibility is that the Timeout property of your ADOConnection
and/or ADOQuery are set too low. First check that MIDAS.DLL is installed,
then check the timeout settings.
HTH
Dave
"Colin Charnley" <co...@aurora-uk.com> wrote in message
news:3bb84dfb$1_2@dnews...
> I'm trying out SOAP but can't get past a "Missing data provider or data
> packet" error. I've used Midas with TWebConnection componet for some
months
> now and have had no problems with that.
>
> I'm developing on a single machine with SQL Server 2000, IIS and Delphi 6
> installed. I've create a SOAP Server Application and added a SOAP
> DataModule, with and ADOConnection, ADOQuery and DataSetProvider. That
> seems to all work and connects to the database fine. I have copied the
> resulting dll into a directory under IIS and then created a Client App
with
> a TSoapConnection, TClientDataSet, TDataSource and TDBGrid. The
> SoapConnection has the url http://mymachine/soaptest/testproject.dll/SOAP
> and seems to connect ok and under the ClientDataSet the DataProvider
> dropdown is filled in with the relevant provider. But, as soon as I set
the
> ClientDataSet to active, it hangs for 15 seconds and then errors.
>
> Any Ideas anyone?
>
> Thanks.
> Colin Charnley.
I found another answer.
Did you try to change the setting in the ODBC??
[Control panel] --> [ODBC] --> create a sql server entry --> select sql
server -->
choose user authentication(NT or sql depends on your IT setting) --> there
is a button, called
[Client setting](I guess... because my computer's language setting is
Chinese not English)
on this page, click it.
When the setting page of [Client setting] show up, change [Network library]
from
"Named Pipe" to "TCP/IP", then [OK], close this page. Continue to Finish
ODBC setting.
After done this, I back to Delphi design time, set TClientDataSet.Active to
"True", I can
see the result set in the TDBGrid!!! cool!
Amy Chen sheny...@yahoo.com.tw
ADO Components seem to default to connecting using Named Pipes - even if you
enter an IP address. This method seems to sort of "clear the way". You have
to do it for Every Single IP address you attempt to connect to - but you
only ever have to do it once per IP address!
Frankie.
"Amy Chen" <she...@pchome.com.tw> wrote in message news:3c146f10_2@dnews...