2

是否有推荐的方法/教程显示如何在没有 THTTPRio 的情况下使用 Delphi 创建和处理纯 SOAP 请求,例如,如果我想实现SOAP over JMSSOAP over AMQPSOAP over SMTP

简化代码示例:

// create a SOAP request (client side)
RequestXML := Service.Add(Arg1, Arg2);

此代码将使用参数 Arg1 和 Arg2 为“添加”方法调用生成带有 SOAP 消息的 XML。

// process a SOAP request (server side)
ResponseXML := Service.ProcessRequest(RequestXML);

此代码将采用 SOAP 请求 XML 并调用该方法。方法调用的结果将被包装为 SOAP 响应并准备好发送给客户端。

4

1 回答 1

4

看看 TLinkedRIO 课程 ( http://shenoyatwork.blogspot.com/2004/10/using-tlinkedrio.html )。它创建 SOAP 请求并将其写入文件。由于 TLinkedRIO 用于测试目的,它还包含用于查找实现服务的 (Delphi) 服务器的代码,并让服务器从文件中读取请求,处理它并将响应写入另一个文件。然后调用者(客户端)从响应文件中读取。如果您想使用不同的传输方式,则不必执行该部分:响应将来自真正的服务。然而,这是一个很好的例子来展示 XML 序列化是如何与传输分离的。

PS:SOAP 序列化基本上期望 IWebNode 满足其传输需求。也就是那个接口的 Execute 方法。将请求流发送到的方式/位置以及获取响应流的方式/位置取决于传输实现。

于 2009-12-16T02:37:14.057 回答