2012-11-26 123 views
2

我一直在使用Delphi 2005中的一组ISAPI web服务DLL来与我们的服务器应用程序进行交互,但我在调试web服务中的问题时遇到了实际困难。从浏览器执行delphi web服务

此时,我有一个测试SOAP服务器应用程序作为Web App Debugger可执行文件,它使用与真实DLL相同的单元。

我可以编译并运行我的SOAP EXE,运行Web App Debugger工具,启动ServerInfo服务器,并在注册服务器列表中查看我的SOAP应用程序。

如果我从列表中选择它并单击Go,它将显示正常的Service Info Page,我可以在其中查看接口和WSDL。

我现在想要做的是执行一个方法(一个简单的方法,它返回ISAPI DLL的版本信息),然后通过查看Web App Debugger的Log选项卡查看请求和响应,但是,我还没有找到执行该方法的方法。

我真的需要编写一个特殊的客户端应用程序来测试我的Web方法吗?我在网上看到的大多数例子都只是说使用http://server/service/class/method?parameter=value来执行一个Web服务方法,但这似乎不适用于Delphi SOAP Web服务。

+0

您可以使用(免费)SoapUI实用程序来代替自己编写客户端。它也很好地显示请求和响应主体。 – mjn

回答

1

您需要更改客户端以连接到运行WebAppDebugger的机器。 (通常是本地主机)

运行WebAppDebugger并单击开始按钮。 “默认网址”点亮......在默认情况下是

http://localhost:8081/ServerInfo.ServerInfo 

然后运行在IDE中的WAD服务器项目,并在您想要的断点某处服务器代码。

如果同一台机器上运行的客户端,改变你的客户端使用本地主机地址......如果你今天连接:

http://www.yourhost.com/yourapp.dll/yourclass/yourmethod 

变化的客户端连接到像这样的调试流量:

http://localhost:8081/wadClassName/yourclass/yourmethod 

Web应用程序调试器类的名称是在创建WAD项目时定义的。