如何在gsoap中使字符串数组返回值

How to make an array of strings return value in gsoap

本文关键字:字符串 数组 返回值 gsoap      更新时间:2023-10-16

我正在努力与gsoap的返回参数绑定。我有一个返回char**的函数它是这样组成的:{char*, ..., char*, NULL}。我希望生成的web服务能够在一个参数中传输和处理多个字符串。然而,Gsoap只生成:<element name="retVal" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>

我希望它返回一个字符串数组,而不是单个字符串。

如果我理解你的问题

你可以开发自己的函数调用gSoap函数从gSoap函数中获取返回的字符串然后将gSoap字符串拆分为子字符串并将它们放入数组中然后返回字符串数组

我在文档中找到了答案。事实证明,我必须创建一个用于返回值的结构,并适当地命名变量。在我的例子中:

struct ns_cl_get_indexes_retVal {
  int __sizeIndex;
  char** index;
};

和WS-base报头中的函数:

int ns__cl_get_indexes ( int32_t db_id,  struct ns_cl_get_indexes_retVal& retVal );

生成正确的xml,如wsdl:

所示
<element name="index" type="xsd:string" minOccurs="0" maxOccurs="unbounded" nillable="true"/>