If you are sure this is a gsoap fault I think it should be better to open a
bug report with you patch as attachment.

Bye
Stefano

On 16 August 2010 10:09, Rolf Ackermann <r...@weon.ch> wrote:

>
>
> Hi all
>
> I've searched around the code and found that "wsdl2h" creates the following
> code:
>
> SOAP_FMAC3 int SOAP_FMAC4 soap_out_msex07t__FolderChangeType(struct soap
> *soap, const char *tag, int
> id, const msex07t__FolderChangeType *a, const char *type)
> {
> if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a,
> SOAP_TYPE_msex07t__FolderChangeType), type))
> return soap->error;
> if
> (soap_out_PointerTomsex07t__NonEmptyArrayOfFolderChangeDescriptionsType(soap,
> "msex07t:Updates",
> -1, &(a->msex07t__FolderChangeType::Updates), ""))
> return soap->error;
> if (soap_out__msex07t__union_FolderChangeType(soap,
> a->msex07t__FolderChangeType::__union_FolderChangeType,
> &a->msex07t__FolderChangeType::union_FolderChangeType))
> return soap->error;
> /* transient soap skipped */
> return soap_element_end_out(soap, tag);
> }
>
> The correct code is:
>
> SOAP_FMAC3 int SOAP_FMAC4 soap_out_msex07t__FolderChangeType(struct soap
> *soap, const char *tag, int
> id, const msex07t__FolderChangeType *a, const char *type)
> {
> if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a,
> SOAP_TYPE_msex07t__FolderChangeType), type))
> return soap->error;
> if (soap_out__msex07t__union_FolderChangeType(soap,
> a->msex07t__FolderChangeType::__union_FolderChangeType,
> &a->msex07t__FolderChangeType::union_FolderChangeType))
> return soap->error;
> if
> (soap_out_PointerTomsex07t__NonEmptyArrayOfFolderChangeDescriptionsType(soap,
> "msex07t:Updates",
> -1, &(a->msex07t__FolderChangeType::Updates), ""))
> return soap->error;
> /* transient soap skipped */
> return soap_element_end_out(soap, tag);
> }
>
> The generated header file of wsdl2h is also wrong.
>
>
> Kind regards
>
> Rolf (aka spieler67)
>
> > Hi Kathryn
> >
> > First of all: Thanks for the link.
> >
> > The problem is I have the following types.xsd:
> >
> > <xs:complexType name="FolderChangeType">
> > <xs:sequence>
> > <xs:choice>
> > <xs:element name="FolderId" type="t:FolderIdType" />
> > <xs:element name="DistinguishedFolderId"
> type="t:DistinguishedFolderIdType"/>
> > </xs:choice>
> > <xs:element name="Updates"
> type="t:NonEmptyArrayOfFolderChangeDescriptionsType" />
> > </xs:sequence>
> > </xs:complexType>
> >
> > If I complile it with wdsl2h of gSOAP 2.7.17 the output of XML looks
> like:
> >
> > <FolderChange>
> > <Updates>
> > .
> > .
> > .
> > </Updates>
> > <FolderID ...></FolderID>
> > </FolderChange>
> >
> > The problem with this output is that Exchange 2007 Web Service shows an
> error while
> > checking the schema.
> >
> > Is there a parameter which can be given in the call to wsdl2h to fix the
> element sequence?
> >
> > Kind regards
> >
> > Rolf (aka spieler67)
> >
> >>
> >>
> >>
> >> Rolf Ackermann wrote:
> >>
> >> > I have a strange problem. I'm using gSOAP 2.7.17 for accessing
> Microsoft
> >> > Exchange 2007 Web Service.
> >> > While using a specific function I receive a fault saying there is an
> >> > element missing. I've searching
> >> > for that element and found out that Exchange 2007 makes a schema
> testing
> >> > which needs the XML tags in
> >> > a specific sequence.
> >> >
> >> > Is there a way to define the order of the XML tags? For example:
> >>
> >> xsd:sequence defines a container with children that must appear in the
> >> specified order:
> >>
> >> http://www.w3schools.com/Schema/schema_complex_indicators.asp
> >>
> >> >
> >> > gSOAP produces
> >> >
> >> > <TAG A>
> >> > <TAG A, Part B>Value 2</TAG A, Part B>
> >> > <TAG A, Part A>Value 1</TAG A, Part A>
> >> > </TAG A>
> >> >
> >> > but Exchange 2007 Web Services needs the sequence
> >> >
> >> > <TAG A>
> >> > <TAG A, Part A>Value 1</TAG A, Part A>
> >> > <TAG A, Part B>Value 2</TAG A, Part B>
> >> > </TAG A>
> >> >
> >> > With the gSOAP produces output I receive an error from Exchange 2007
> Web
> >> > Services called
> >> >
> >> > Error while checking schema. Invalid Tag 'TAG A, Part B' needs either
> >> 'TAG
> >> > A, Part A' or ...
> >> >
> >> > I'm happy with any ideas in this case.
> >> >
> >> > Kind regards
> >> >
> >> > Rolf (aka spieler67)
> >> >
> >> >
> >> > ------------------------------------
> >> >
> >> > Yahoo! Groups Links
> >> >
> >> >
> >> >
> >>
> >> --
> >> Kathryn
> >> http://womensfooty.com
> >> National Team Donation - http://womensfooty.com/freedom/donate
> >>
> >>
> >
> >
> >
> >
> > ------------------------------------
> >
> > Yahoo! Groups Links
> >
> >
> >
>
>  
>



-- 
Stefano Canepa aka sc: s...@linux.it - http://www.stefanocanepa.it
Three great virtues of a programmer: laziness, impatience and hubris.
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza.
(Larry Wall)

Reply via email to