这是一个目标:使用N wsdl构建客户端应用程序,当一些SOAP请求启动时 - 添加一些特定的SOAP:Header(会话令牌和客户端数据照常)
这里有一些限制:
所以这就是问题:如何将自定义生成的XML添加到SOAP:请求中的标题字段?
PS。坦率地说,我有一个解决方案通过gsoap插件解决这个问题,但我认为它有点“丑陋 - hacky”,真的很欣赏更美丽和优雅的解决方案
答案 0 :(得分:0)
好的,这是适当的解决方案:
将#import“header.h”添加到typemap.dat:
[
#import "header.h"
]
header.h中SOAP_ENV__Header结构的内容是用户定义的,通常包含指针和成员名称的成员:
struct SOAP_ENV__Header
{
type *prefix__name;
};
如果您想要“任意”标题,请使用DOM:
#import "dom.h"
struct SOAP_ENV__Header
{
xsd__anyType *dom;
};
在自定义SOAP头中使用DOM对象时 - 不要忘记在soapcpp2执行中传递“-d”选项 - 否则会出现编译/链接问题。