gpt4 book ai didi

c++ - 使用 gSOAP 独立服务器发布 wsdl?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:27 25 4
gpt4 key购买 nike

现在,我在 8080 端口上开发了一个 gSOAP 独立服务器,它正在为 SOAP RPC 工作。

但是当客户端请求在 8080 端口上获取 wsdl 时,我想返回我文件系统中 wsdl 文件的 wsdl 内容。

我可以做些什么来将 wsdl 返回给客户?

最佳答案

我使用 xd 工具生成了我的 wsdl 的嵌入版本,并使用此命令行将其存储为 wsdl.h 文件(我在我的 CMakeList.txt 中执行此操作):

${GSOAP_ROOT_DIR}/bin/win32/xd -dwsdl ${CMAKE_CURRENT_BINARY_DIR}/${SOAP_NAME_SERVICE}.wsdl > ${CMAKE_CURRENT_BINARY_DIR}/wsdl.h

之后我实现了这个功能,可以更好的在GET请求中带参数:

int http_get(struct soap *soap)
{
soap_response(soap, SOAP_HTML); // HTTP response header with text/html
soap_send(soap, (const char*)wsdl);
soap_end_send(soap);
return SOAP_OK;
}

因此,我将此函数配置为引导 gSoap 接收的所有 GET 命令:

.
.
.
struct soap soap;
soap_init(&soap);
soap.fget = http_get;
.
.
.

然后,当您的服务器收到 HTTP/GET 请求时,您的函数将被调用并发送 wsdl 文件。如果需要,您可以在运行时读取 WSDL 文件并发送 soap_send() 而不是像我一样在您的代码中嵌入 WSDL。

关于c++ - 使用 gSOAP 独立服务器发布 wsdl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9318642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com