我正在使用gsoap 2.8.0。在其中一个请求中,我需要使用SAML断言添加从Vmware SSO服务器获取的令牌。
当我使用gsoap(wsdl2h和soapcpp2)生成代码时,我收到错误: 。\ wsdlout \ vimService.h(224691):警告:在wsse.h中声明的struct _saml__Assertion:197没有内容
在生成的代码中,我无法找到“struct _saml__Assertion”定义。
如何在代码中添加SAML断言?
答案 0 :(得分:0)
建议将gsoap安装升级到2.8.40,因为类型实际上是struct saml1__AssertionType
或struct 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上的所有这些详细信息。