У меня есть wsdl-shema со сложным типом:
<complexType name="stringArray">
<sequence>
<element name="strings" type="xsd:string" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</complexType>
Этот сложный тип используется в сообщении:
<message name="insertResponse">
<part name="err" type="xsd:int"/>
<part name="title" type="xsd:string"/>
<part name="text" type="xsd:string"/>
<part name="date" type="xsd:dateTime"/>
<part name="authors" type="stringArray"/>
<part name="topics" type="intArray"/>
</message>
Когда я генерирую файл заголовка с помощью wsdl2h,Я получаю:
struct ns2__insertResponse
{
int err;
char* title;
char* text;
time_t date;
wsdl__stringArray authors;
wsdl__intArray topics;
};
Но когда я пытаюсь сгенерировать код с помощью soapcpp2, я получаю следующее в soapStub.h:
struct ns2__insertResponse
{
int err; /* SOAP 1.2 RPC return element (when namespace qualified) */ /* required element of type xsd:int */
char *title; /* optional element of type xsd:string */
char *text; /* optional element of type xsd:string */
time_t date; /* required element of type xsd:dateTime */
char *authors; /* optional element of type wsdl:stringArray */
char *topics; /* optional element of type wsdl:intArray */
};
Почему он заменяет wsdl__stringArray на char * икак заставить его сохранить собственную структуру?