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

时间:2013-03-28 10:31:44

标签: c++ c string soap gsoap

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

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

2 个答案:

答案 0 :(得分:0)

如果我不理会你的问题

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

答案 1 :(得分:0)

我在the documentation找到了答案。事实证明,我必须创建一个用于返回值的结构并适当地命名变量。就我而言:

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"/>