-2

gsoap の戻りパラメータのバインドに苦労しています。char**次のように構成されたを返す関数があります{char*, ..., char*, NULL}。生成された Web サービスが、1 つのパラメーターで複数の文字列を送信および処理できるようにしたいと考えています。ただし、Gsoap は以下のみを生成します。 <element name="retVal" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>

単一の文字列ではなく、文字列の配列を返したいと思います。

4

2 に答える 2

0

ドキュメントで答えを見つけました。値を返すために使用する構造体を作成し、変数に適切な名前を付ける必要があることがわかりました。私の場合:

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 );

これにより、wsdl に見られるように、適切な xml が生成されました。

<element name="index" type="xsd:string" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
于 2013-03-29T11:49:08.810 に答える
0

私があなたの質問を理解したら

gSoap 関数を呼び出して gSoap 関数から返された文字列を取得し、gSoap 文字列をサブ文字列に分割して配列に入れ、文字列の配列を返す独自の関数を開発できます。

于 2013-03-28T11:01:20.830 に答える