我在解决另一个SOAP问题时发现了这个问题,只是在这里发帖,看看是否有人经历过这个问题或者有任何建议。
问题:
创建此问题的步骤:
代码
TSimpleCalculator = class(TInvokableClass, ISoapCalculator)
private
public
function add(a, b: Integer) : Integer; stdcall;
function subtract(a, b: Integer): Integer; stdcall;
function TestRequest(const Request: TSOAPAttachment): TSOAPAttachment; stdcall;
end;
现在,我删除了服务器中的Subtract功能,但仍使用原始客户端。
任何建议都表示赞赏。
答案 0 :(得分:0)
之前我用的是肥皂,但是来自Java,而不是Delphi。但是因为SOAP是ubiquotus,无所谓,它必须遵循SOAP规范。 SOAP服务器应该从SOAP请求返回SOAP错误作为回复,而SOAP请求不会与已发布的方法相对应。您的Delphi SOAP服务器应该生成SOAP错误,您的Delphi SOAP客户端应该正确处理错误。您可以使用TCP流量监视器并分配过滤器,以便它仅显示SOAP流量或使用SOAP流量监视器。使用监视器,您可以看到发送到服务器的请求(包括消息)和回复。您可以查看有关SOAP规范的W3C在线文档。毕竟,您的SOAP应用程序必须遵循规范。