gpt4 book ai didi

c - 在 C 中使用 SOAP_ENV__Header 设置 soap header

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:34 24 4
gpt4 key购买 nike

我在尝试使用 gsoap 设置 SOAP header 时遇到了困难。我在这里阅读了常见问题解答:http://www.genivia.com/Help/FAQlist.html#g17

这个答案没有任何帮助:How to pass header information to the soap header SOAP_ENV__Header, in c++ using gsoap

它假设已经发生某种神奇的种姓,将 SOAP_ENV__Header 中的虚拟元素转换为所需的数据类型。

这是我的代码:

#include <stdio.h>
#include <time.h>

struct SOAP_ENV__Header {
char *authwsns__token;
char *authwsns__ip;
};
#define SOAP_TYPE_SOAP_ENV__Header struct SOAP_ENV__Header

#include "authservicesH.h"
#include "AuthServicesBinding.nsmap"

int
main(int argc, char **argv) {

struct soap *soap;
struct authwsns__GetTokenRequest *request;
struct authwsns__GetTokenResult *result;

soap = soap_new();
soap->header = (struct SOAP_ENV__Header *)soap_malloc(soap, sizeof(struct SOAP_ENV__Header));
soap->header->authwsns__token = "jc09bdd";
soap->header->authwsns__ip = "10.10.10.10";

request = (struct authwsns__GetTokenRequest *)malloc(sizeof(struct authwsns__GetTokenRequest));
result = (struct authwsns__GetTokenResult *)malloc(sizeof(struct authwsns__GetTokenResult));

request->tokenBase = id;

soap_call___authwsns__getToken(soap, "http://", NULL, request, result);

if (result->tdsns__errorReport) {
printf("Web services error\n");
printf("Level: %s\n",result->tdsns__errorReport->level);
printf("Message: %s\n",result->tdsns__errorReport->message);
} else {
printf("Token is %s\n",result->token);
}
soap_end(soap);
soap_free(soap);
free(request);
free(result);
}

当我通过调试器运行我的程序并显示 SOAP_ENV__Header 时,它仍然显示它有一个虚拟元素,所以我不确定覆盖默认定义的正确方法是什么。常见问题解答中的解释对此细节相当模糊。

当我使用我的 SOAP_ENV__Header 定义破解 Stub.h 文件并在其中设置值时,当我通过调试器运行它时会显示正确的字段,但它们不会显示在输出 XML 中。

我在这里错过了什么?谢谢,约翰

最佳答案

定义肥皂头...

#include "soapcalcProxy.h" 
#include "calc.nsmap"
soapStub.h
soapH.h
soapC.cpp
soapClient.cpp

关于c - 在 C 中使用 SOAP_ENV__Header 设置 soap header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048311/

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