c++ - 有没有办法在 "class"类型实体中对一组 soap 方法进行逻辑分组?

标签 c++ web-services soap air

对于我们基于 C++ 的大型项目,我们现在有一种方法可以自动生成代码以将我们的代码公开为 SOAP 方法。这非常有效,我们正计划根据我们公开的 API 使用 Adob​​e AIR/Flex 开始实现基于 RIA 的应用程序。

我的问题是关于组织 SOAP 网络服务。我的代码公开了在我们的 C++ 代码中属于类的各个方法调用。到目前为止,我已经通过在它们前面加上它们在 C++ 中来自的类的名称来命名公开的方法。然而,理想情况下,将有一种方法可以在 SOAP 服务中对方法进行逻辑分组,这样我就不必执行此步骤,并且可以在绑定(bind)后请求特定组(也称为类)中的服务使用目标语言的 WSDL 文件的 SOAP 服务。

我真的很想能够在我们的客户端应用程序的服务器端重现位于 SOAP 层后面的类结构。现在,我可以看到我可以通过使用方法名称来确定它们属于哪个类来做到这一点,但如果我能以更清晰的方式将它们分开,我会更喜欢它。

期待听到 SOAP 大师们对此事的了解。

最佳答案

我花了一个下午的时间研究这个问题,看来我有两个选择,这两个选项都是我模拟过的,而且都有效:我只是不确定现在哪个最好!

  • 将不同“服务”中的方法根据它们来自的类进行逻辑分组。可以在同一个 WSDL 文件中包含多个 SOAP“服务”,这样客户仍然可以通过仅访问一个 URL 来发现它们。
  • 将方法分离到同一 SOAP 服务的不同“端口”。

我对使用哪个感到困惑,因为根据规范,端口是“一个或多个端点支持的一组抽象操作”,而服务是“相关端点的集合”。这表明将操作组合在一起的正确方法是使用端口。

关于c++ - 有没有办法在 "class"类型实体中对一组 soap 方法进行逻辑分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/755575/

相关文章:

c++ - std::unordered_map 和重复键

c++ - 在 C++ 复制构造函数中将值从一个 void** 复制到另一个 void**

java - 无法建立双向 SSL 连接(找不到别名的公钥)

python - 属性错误: 'module' object has no attribute 'url'

c# - 使用soap客户端时出现InvalidOperationException

Java SOAP - 需要有关 Body 和 ChildElement 操作的帮助

java - 如何在java中调用axis apache客户端

c++ - 如果用户在 C++ 中输入一个字符串,我如何检查此目录中是否存在具有该名称的文件以及它的扩展名是什么?

c++ - Cilk Plus 代码结果取决于 worker 数量

web-services - Web服务授权最佳实践