3层数据库开发中,无法通过SoapConnection获得服务器端的DataSetProvider名称。请问如何解决?

                            
   
  在服务器端,建立了一个WebService,并且加入了一个DataModule(定义名称为:DataAccessMod)。在DataAccessMod中加入了ADOConnection,ADOQuery和DataSetProvider。运行后注册服务,可以用IE正常看到已经注册了IDataAccessMod接口。  
   
  然后建立客户端程序:加入SOAPConnection,设置URL指向IDataSrv接口。然后加入ClientDataSet,选择RemoteSrv为SOAPConnection。但是在ProviderName中无法看到服务器端的DataProvider名称。  
   
  观察Web   App   Debugger中的请求与响应。发现  
  请求为:  
  POST   /DataSrv.DataSrv/soap/IDataAccessMod   HTTP/1.1  
  Accept:   text/xml  
  SOAPAction:   "http://www.borland.com/namespaces/Types-IAppServerSOAP"  
  Content-Type:   text/xml  
  User-Agent:   Borland   SOAP   1.1  
  Host:   localhost:9999  
  Content-Length:   456  
  Connection:   Keep-Alive  
  Cookie:   LastProgID=GetData.GetData  
   
  <?xml   version="1.0"?>  
  <SOAP-ENV:Envelope   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"   xmlns:xsd="http://www.w3.org/2001/XMLSchema"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><NS1:SAS_GetProviderNames   xmlns:NS1="http://www.borland.com/namespaces/Types"/></SOAP-ENV:Body></SOAP-ENV:Envelope>  
   
   
  响应为:  
  HTTP/1.1   500   Internal   Server   Error  
  Content-Type:   text/xml  
  Content-Length:   428  
  Content:  
   
  <?xml   version="1.0"   encoding='UTF-8'?>   <SOAP-ENV:Envelope   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"   ><SOAP-ENV:Body>   <SOAP-ENV:Fault>   <faultcode>SOAP-ENV:Server</faultcode><faultstring>No   invokable   class   registered   that   implements   interface   SOAPMidas.IAppServerSOAP   of   (soap   action/path)   "http://www.borland.com/namespaces/Types-IAppServerSOAP"</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>  
   
   
  不知道为什么会提示我没有可以调用的接口?我在IE中的确看到了IDataAccessMod接口呀(如下所示)?  
  IDataAccessMod   [WSDL]    
  AS_ApplyUpdates  
  AS_GetRecords  
  AS_DataRequest  
  AS_GetProviderNames  
  AS_GetParams  
  AS_RowRequest  
  AS_Execute  
   
  另外,SOAPMidas.IAppServerSOAP到底是个什么东西?  
   
   
  呵呵,新手上路,还请各位多多指教!

查看回复