Delphi:从启用代理的Windows7 pc和SOAP Server挂起访问SOAP服务器时出现访问冲突错误

时间:2012-05-18 06:25:51

标签: delphi delphi-7 delphi-2009 delphi-xe2 delphi-xe

我花了几周的谷歌搜索并尝试对代码进行各种更改。我甚至尝试将日志文件放在SOAP服务器中,但代码中没有发现错误。

我有一个用delphi XE编写的SOAP服务器。它很直接。接口只有一个功能

type
  { Invokable interfaces must derive from IInvokable }
  IIirate = interface(IInvokable)
  ['{153E0531-5EAB-49E3-B824-62447AF6F0A9}']

    { Methods of Invokable interface must not use the default }
    { calling convention; stdcall is recommended }
    Function ProcessRequest(Request: TSOAPAttachment): TSOAPAttachment; stdcall;
  end;

我有一个启用了代理功能的客户端。只有当他登录到我的SOAP服务器时才会挂起,除非我回收IIS应用程序池,否则没有其他人可以访问服务器。但我可以看到soap附件缓存文件不断进入服务器。 有趣的是,如果我在接口单元中注释掉ProcessRequest函数,则会出现同样的情况。

1 个答案:

答案 0 :(得分:0)

您可以尝试soapUI对您的服务器(https://www.soapui.org/)进行测试,以消除客户端应用程序正在执行某些操作使其挂起的可能性。 但是,一个客户端实际上应该无法使其挂起。您的SOAP服务器使用的线程模型是多线程的吗?该链接包含有关COM多线程https://docs.microsoft.com/en-us/windows/win32/com/choosing-the-threading-model

的信息