gsoap Array als return Parameter

Hirnschneck

Grünschnabel
Hallo alle zusammen!

Ich weiß nicht ob ich hier richtig bin, hab aber kein wirklich passendes Forum gefunden, und da gsoap ja doch etwas mit c++ zu tun hat, frag ich einfach mal hier nach...

Folgendes Problem: Meine Anwendung, die als cgi am Server läuft, verwendet eine Methode

int func(char*** xyz);

Der funktionierende Aufruf aus einem Testprogramm, das nicht über gsoap läuft, sieht folgend aus:

char** xyz;
func (&xyz);

Das Array wird mit den korrekten Werten befüllt.

Das gsoap-Headerfile, aus dem ein .wsdl-file erstellt wird (mit wsdl2h), müsste eine Funktion

ns_func(char*** xyz);

beinhalten, mit char*** als Rückgabeparameter.

Zur Serialisierung eines solchen Typs wird vorgeschlagen, ein struct oder eine Klasse zu erstellen, die einen "Wrapper" für dieses Array darstellt. Ich habs schon auf mehrere Araten versucht, beispielsweise so:

typedef char* xsd__string;
struct X
{
public:
xsd__string *__ptr;
int __size[3]; //soll die Anzahl Dimensionen des Arrays angeben
};

int ns__func(struct X *result);

Ich bekomme das ganze einfach nicht zum Laufen, vielleicht kann mir ja jemand weiterhelfen?
 
Zurück