Axis2 SOAP 客户端可以使用非 Axis 服务吗?

Can Axis2 SOAP clients consume non-Axis services?

考虑以下代码:

ret_node = axis2_svc_client_send_receive(svc_client, env, payload);
//Send request to an Axis2 Server from an Axis2C Client which consumes the service.

这要求服务器是 Axis,因为 return 值 ret_node 的类型是 axiom_node_t

但是,我希望编写一个 Axis2C SOAP 客户端 来与 鲜为人知 Tally HTTP Server 运行在端口 9000.

我还没有看到 Axis2c 客户端与非 Axis 服务器通信的任何此类示例。我相信这是可能的。

  1. axis2c 客户端可以使用非轴服务吗?
  2. 如果是,有人可以指出一些例子或说明如何操作吗?

Axis2/C 只能处理 SOAP,因此无法与 Tally HTTP 服务器一起使用,该服务器基于 XML-RPC 协议,与 SOAP 不兼容。

如果您想创建 Axis2/C 与 SOAP 服务一起工作的客户端,最简单的方法是使用带有数据绑定的代码生成。任何 SOAP 网络服务都必须提供完整描述协议的 WSDL。要了解如何从 WSDL 生成客户端存根,请查看此处:http://axis.apache.org/axis2/c/core/docs/axis2c_manual.html#wsdl2c

如果您需要有关如何构建 SOAP 客户端的其他示例,您可以下载 Axis2/C 源代码并查看 samples 目录。