gpt4 book ai didi

c++ - 尝试将 gSoap 与 WCF 和 WSHttpBinding 一起使用

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

我正在尝试使用 gSoap 库通过 WSHttpBinding 与 WCF 服务器对话。我似乎遇到了 gSoap 的 WS-Addressing 插件问题。当我使用#import "wsa5.h"启用 WS-Addressing 插件时,我无法再编译。现在,soapC.cpp 中有未解析的符号。第一个错误在 soap_getelement(soap*, int*) 中。错误是 SOAP_TYPE_wsa5_IsReferenceParameter。这是我第一次尝试使用 gSoap。任何建议表示赞赏。

gSoap 版本 2.8.4

最佳答案

您可以做的是将 WSA 部分添加到您的 Typemap 文件中,然后在您的 wsdl2h 命令中使用 -t 参数指定它。

即:

wsdl2h -o target.h -t EditedTypemap.dat target.wsdl

您可以从您的 gSOAP 目录复制标准 Typemap.dat 并编辑它,使其如下所示:

wsa = <http://schemas.xmlsoap.org/ws/2004/08/addressing>

SOAP_ENV__Header =\
#import "wsa.h"\n\
struct SOAP_ENV__Header\n\
{\n\
mustUnderstand _wsa__MessageID wsa__MessageID 0;\n\
mustUnderstand _wsa__RelatesTo * wsa__RelatesTo 0;\n\
mustUnderstand _wsa__From * wsa__From 0;\n\
mustUnderstand _wsa__ReplyTo * wsa__ReplyTo 0;\n\
mustUnderstand _wsa__FaultTo * wsa__FaultTo 0;\n\
mustUnderstand _wsa__To wsa__To 0;\n\
mustUnderstand _wsa__Action wsa__Action 0;\n\
};

然后像我上面提到的那样重新运行 wsdl2h。希望这对你有用!gSOAP 是一个很棒的工具包,只是有点挑剔。

关于c++ - 尝试将 gSoap 与 WCF 和 WSHttpBinding 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8072902/

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