如何在soap安全头中包含SAMl断言

时间:2016-05-27 12:55:56

标签: c++ soap saml saml-2.0 gsoap

我正在使用gsoap 2.8.0。在其中一个请求中,我需要使用SAML断言添加从Vmware SSO服务器获取的令牌。

当我使用gsoap(wsdl2h和soapcpp2)生成代码时,我收到错误: 。\ wsdlout \ vimService.h(224691):警告:在wsse.h中声明的struct _saml__Assertion:197没有内容

在生成的代码中,我无法找到“struct _saml__Assertion”定义。

如何在代码中添加SAML断言?

1 个答案:

答案 0 :(得分:0)

建议将gsoap安装升级到2.8.40,因为类型实际上是struct saml1__AssertionTypestruct saml2__AssertionType,具体取决于您想要的SAML版本。

saml断言在import / saml1.h(SAML 1.0)和import / saml2.h(SAML 2.0)下的gsoap根目录中声明。 wsse.h文件包含以下一个或两个:

#import "saml1.h"
#import "saml2.h"

这些足以定义SAML断言结构。确保使用soapcpp2 -Igsoap-2.8/gsoap/import让soapcpp2在根gsoap目录下的import目录中找到正确的.h文件。

在更新的soap文档中查看WS-Trust and SAML上的所有这些详细信息。