1

简单的。我创建了一个 LINQ-TO-SQL 实体模型,创建了一个网站,向该站点添加了一个数据服务 (*.svc),并通过编写一个简单的 .NET 控制台应用程序来确保它可以正常工作。该服务工作正常,无法修改。

现在我要为 WIN32 编写一个 Delphi 应用程序 (2007),它必须调用这个数据服务。尽管 Delphi 在导入 SOAP 服务方面没有大问题,但它无法导入该服务,因为它不提供 WSDL……

所以,有两种选择。我可以弄清楚如何基于此数据服务生成 WSDL,否则我将不得不寻找另一种方式来使用此服务。(或者干脆放弃,但我不想放弃这个挑战。)那么,有什么建议吗?

4

3 回答 3

1

也许您可以使用 Jedi 项目的“网址抓取器”组件来使用该服务。我过去曾设法使用这些获取实时共享数据。我不确切知道您的设置是如何工作的,但也许这些会有所帮助。

http://www.delphi-jedi.org/

于 2009-07-10T06:51:56.413 回答
1

ADO.NET 数据服务是REST服务。它们不是 SOAP WebServices,我不认为 REST 使用 WSDL。您可以使用 HTTP GET/PUT/POST/DELETE 从 Delphi 调用 REST 服务。您可以使用 Indy 的 TIdHTTPClient。有关 url 示例,请参阅http://msdn.microsoft.com/en-us/library/cc668786.aspx。结果采用Atom格式,这是一种 XML 格式。您可以使用 TXMLDocument 解析它。他们也可以返回JSON

于 2009-07-10T06:56:22.410 回答
0

您还应该查看synapse,这是一个易于使用的小型库,可与 REST 很好地配合使用。可以通过 SVN 下载的最新版本在 Delphi 2009 中运行良好。

于 2009-07-10T16:02:44.257 回答