【问题标题】:How to make an array of strings return value in gsoap如何在gsoap中使字符串数组返回值
【发布时间】:2013-03-28 10:31:44
【问题描述】:

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

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

【问题讨论】:

    标签: c++ c string soap gsoap


    【解决方案1】:

    如果我不理解你的问题

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-12-12
        • 2011-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-13
        相关资源
        最近更新 更多