2

我正在使用 Delphi XE7 + Employee Interbase DB。

我正在尝试使用 Datasnap 构建一个 SOAP 服务器。

我在一台服务器中有 3 个 SOAP 服务器数据模块,每个都有一个表:客户、员工、国家/地区,每个都以相同的方式制作(文件、新的、其他、SOAP 服务器数据模块),然后从数据资源管理器中拖动一个表数据模块(Delphi 创建一个 TSQLCONnection 和一个 TSQLDataset),然后添加一个 TDatasetProvider。这三个数据模块是相同的。

在客户端应用程序中,我有 WSDL 导入器创建的三个接口

ICountryWM = interface(IAppServerSOAP)
  ['{1DA001BC-4DFB-E7F8-F62D-DA3545B334DC}']
end;

这三个接口是相同的(当然名称和 GUIDS 不同)。

在客户端表单中,我有三个按钮,它们执行相同的操作:

procedure TClientFM.BtnEmployeeClick(Sender: TObject);
begin
  ClientDataSet.Close;
  SoapConnection.Close;
  SoapConnection.UseSOAPAdapter := False;
  SoapConnection.SOAPServerIID := '{02E9AB9B-DB17-ACF5-68D9-73FC763C04DC}';
  SoapConnection.URL := 'http://localhost:8080/soap/IEmployeeWM';
  ClientDataset.ProviderName := 'EmployeeProvider';
  SoapConnection.Open;
  ClientDataSet.Open;
end; 

仅更改 ServerID、URL、ProviderName。

三个 Data Module ini 中的三个 DatasetProvider 已“导出”检查。

一开始,第一个 SOAP 服务器数据模块(客户)运行良好:在我的客户中,我看到了客户表。当我尝试员工或国家/地区时,我总是得到“提供商未导出”。

我犯了一个大错误:试图改变一些我取消选中导出标志,编译并运行服务器和客户端:没有工作。好的,我预料到了。然后我重新检查了标志......现在检查了导出的标志,但没有一个提供者正常工作......(是的,现在工作的那个不工作)。

服务器和客户端都在同一台 PC 上运行。

有人可以告诉我什么是错的吗?我认为问题出在服务器上,但在服务器的哪里?

4

0 回答 0