【问题标题】:Sending/Receiving SOAP Requests/Responses in C在 C 中发送/接收 SOAP 请求/响应
【发布时间】:2011-05-05 17:26:11
【问题描述】:

我需要一个工具包来在 C 生产应用程序中实现 SOAP 请求和响应。我研究了 gSOAP(不支持)、Apache Axis(根据他们的网站没有完全实现)。有没有人能够通过 HTTP 或 TCP/IP 实现 SOAP 响应/请求?

【问题讨论】:

    标签: c http soap tcp


    【解决方案1】:

    试过libsoup吗?

    libsoup 库包含一个 HTTP 实现和一组API 构造和使用 SOAP 消息。它还允许安全 身份验证,因此您可以使用网络 访问私人账户的服务 通过安全连接。使用 libsoup 让使用 web 变得简单 无需手动解析的服务和 解释通过

    发送的消息

    这是他们的主页 -> libsoup

    【讨论】:

    • 我正在寻找比 libsoup 更独立于系统的东西。由于我不确定生产环境是否可以访问 gnome 库并且我不想安装它们,所以我决定使用 libcurl。非常感谢您的建议。
    【解决方案2】:

    如果您想要一个较低级别的方法(即自己解析 XML 响应),您可以调用诸如 cURL 之类的应用程序(或直接调用 libcurl)。我非常幸运地采用了这种方法。

    我编写了从命令行调用 cURL 的程序,如下所示:

      command_line << "--insecure"
                   << " -d @" << request->post_file_name
                   << " -H \"Content-Type: application/soap+xml; charset=utf8\""
                   << " --output " << request->results_file_name
                   << " --trace-time --trace-ascii " << curl_log_path
                   << " " << fs_service_url;
    

    【讨论】:

    • 我目前正在研究这种解决问题的方法。我提出的问题是如何对 SOAP 服务执行 HTTP POST。我还没有找到发送整个 XML 文件 visa libcurl 的方法。还是我必须将 POST 作为从文件中读取的字符串发送?
    • 我刚刚编辑了我的回复以指定如何从命令行调用 curl。调用 libcurl 时,您必须找到等效选项。
    【解决方案3】:

    你试过Apache Axis?

    【讨论】:

    • Apache Axis 的网站说它没有完全针对纯 C 实现。所以我要远离它。
    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多