首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装delphi 7 isapi web服务

安装delphi 7 isapi web服务
EN

Stack Overflow用户
提问于 2010-07-24 06:48:30
回答 1查看 1.3K关注 0票数 1

我已经在Delphi7中开发了一个isapi web服务,我需要将它安装在服务器上,以便c#应用程序可以使用它。

我将isapi的dll复制到一个文件夹中,并在服务器的IIS中创建了一个虚拟目录。

当我从浏览器(http://localhost/webservice/ws.dll)调用web服务时,会出现delphi默认创建的web服务的网站。如果我在C#应用程序中创建web引用,引用将使用上面提供的URL正常加载。

问题是,当我一步一步地调试C#应用程序时,它调用了delphi web服务内部的一个函数,但它没有做任何事情。web服务不返回任何内容。

我记得我以前遇到过类似的问题,解决的方法是将一些delphi dll复制到我安装web服务的服务器的system32文件夹中,但我不记得需要复制哪些文件,以及这是否真的解决了问题。

使用web服务不会在.net应用程序中抛出任何异常。它什么也做不了。这些函数不返回任何内容。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-24 23:50:35

问题如下。

我的web服务被用来使用另一个人的delphi web服务。我必须开发这个web服务,因为有一个.NET应用程序应该使用其他人的delphi web服务,但开发它的人使用了.NET不支持的复杂数据类型。所以我不得不开发我的web服务来充当翻译器。我在其中使用了.NET支持的数据类型,.NET应用程序使用我的delphi web服务只是为了使用另一个人的web服务。这有点混乱,但我无法说服另一个人使用标准数据类型。我的web服务有一个例程,它从ini文件中获取来自另一个人的web服务的SOAP URL。我不记得我开发该例程是为了在特定路径中查找该ini文件。

例程如下所示:

代码语言:javascript
复制
 ifParams:=TIniFile.Create('C:\BancorTranslator\BancorTranslator.ini');
 HostAnula:= ifParams.ReadString('GLOBAL','HOSTANULA','');
 HostDepos:= ifParams.ReadString('GLOBAL','HOSTDEPOS','');
 HostTrans:= ifParams.ReadString('GLOBAL','HOSTTRANS','');
 HostConsu:= ifParams.ReadString('GLOBAL','HOSTCONSU','');

我将ini文件放在不同的位置,所以当我的web服务试图使用其他人的web服务时,在我的web服务中配置的SOAP URL是空的。我更改了例程,以便在托管web服务的同一文件夹中查找ini文件,现在它工作得很好。不需要复制system32文件夹中的任何文件。那是我的烂摊子。

感谢大家的帮助;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3322928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档