"Greg Allen" <gallen@arrayinc.com> a écrit dans le message de news:
OTvcIyiQGHA.2276@tk2msftngp13.phx.gbl...[color=blue]
> OK, here's the relevant section from the WSDL file:
>
> <s:complexType name="FormSection">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="unbounded" name="field"
> type="tns:FormField" />
> </s:sequence>
> </s:complexType>
> <s:complexType name="FormField">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="unbounded" name="value"
> type="s:string" />
> </s:sequence>
> <s:attribute name="type" type="tns:FormFieldType" use="required" />
> </s:complexType>
> <s:simpleType name="FormFieldType">
> <s:restriction base="s:string">
> <s:enumeration value="boolean" />
> <s:enumeration value="select1" />
> <s:enumeration value="selectn" />
> </s:restriction>
> </s:simpleType>
> <s:complexType name="BooleanField">
> <s:complexContent mixed="false">
> <s:extension base="tns:FormField">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="1" name="fields"
> type="tns:ArrayOfFormField" />
> </s:sequence>
> </s:extension>
> </s:complexContent>
> </s:complexType>
> <s:complexType name="ArrayOfFormField">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="unbounded" name="field"
> nillable="true" type="tns:FormField" />
> </s:sequence>
> </s:complexType>
> <s:complexType name="SelectOneField">
> <s:complexContent mixed="false">
> <s:extension base="tns:FormField">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="1" name="choices"
> type="tns:ArrayOfChoice" />
> </s:sequence>
> </s:extension>
> </s:complexContent>
> </s:complexType>
> <s:complexType name="ArrayOfChoice">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="unbounded" name="choice"
> nillable="true" type="tns:Choice" />
> </s:sequence>
> </s:complexType>
> <s:complexType name="Choice">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="1" name="value"
> type="s:string" />
> <s:element minOccurs="0" maxOccurs="1" name="fields"
> type="tns:ArrayOfFormField" />
> </s:sequence>
> </s:complexType>
> <s:complexType name="SelectMultipleField">
> <s:complexContent mixed="false">
> <s:extension base="tns:SelectOneField">
> <s:attribute name="maximum_choices" type="s:int" use="required"
> />
> <s:attribute name="minimum_choices" type="s:int" use="required"
> />
> </s:extension>
> </s:complexContent>
> </s:complexType>
>
> I put in dummy elements as suggested, like this
>
> <s:element minOccurs="0" maxOccurs="1" name="dummy"
> type="s:string" />
>
> wherever there was a sequence with only 1 type. That changed the
> resulting file,
> but the deserialization still didn't give me the choices.
>[/color]
There is maybe another problem then ?
You should try to run your code in debugger an try to trace where the
deserialization fails.
[color=blue]
> Am I still missing something? How can I catch the exception during
> deserialization that
> you describe, to see if I am having the same problem? Is this a known
> bug?
>[/color]
I have seen the exception when running in debugger. It seems to be catched
before returning to our code.
I don't know if it's a known bug (or a misunderstanding on my side) ...
[color=blue]
> Thanks again,
>
> -- Greg
>
>[/color]