2013-03-28 1 views
-2

Я борюсь с привязкой параметра возврата gsoap. У меня есть функция, которая возвращает char**, которая состоит вот так: {char*, ..., char*, NULL}. Я хочу, чтобы сгенерированная веб-служба могла передавать и обрабатывать несколько строк в одном параметре. Gsoap, однако, генерирует только: <element name="retVal" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>Как сделать массив строк возвращаемым значением в gsoap

Я бы хотел, чтобы он возвращал массив строк, а не одну строку.

ответ

0

Я нашел ответ в the documentation. Оказывается, мне пришлось создать структуру, которая будет использоваться для возврата значения и соответствующим образом присвоить переменные. В моем случае:

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

и функции в WS-базовый заголовок:

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

Если я undesrstand вашего вопроса

Вы можете разработать свою собственную функцию, вызовите функцию gSoap, чтобы получить возвращенную строку из функции gSoap затем разделить жало gSoap к югу строке и поместить их в массив, а затем вернуться ваш массив строк

 Смежные вопросы

  • Нет связанных вопросов^_^