Structure '

  
I am trying to consume coldfusion websevice and getting this error:

" Structure abc has attributes with unsupported types"

Here is WSDL definition:

xmlns:ax23="http://rpc.xml.coldfusion/xsd"

<xs:complexType name="abc">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="columnList" nillable="true" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="data" nillable="true" type="ax23:ArrayOfObject"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ArrayOfObject">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="array" nillable="true" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>

Why am I getting this error ? 
I'd assume is the anyType. but you can validate this pressing F1 (http://www.outsystems.com/help/servicestudio/8.0/Errors_and_warnings/Unsupported_Web_Reference_Error.htm)
I have already gone through this link and it says:

"the Web Reference you are using probably has an array of data types whose elements data type is the parent array type itself.  When integrating this web reference in your eSpace, an array data type is mapped into an Record List of Structures and structure attributes cannot be recursive. There are other situations with indirect loops that may cause this error"

It is not the first case , So I would like to know , what are these other situations ?


Can you provide the complete wsdl?
Despite " Structure abc has attributes with unsupported types" warning message I was able to add the service but it throws Method WRefldcfc.LDCountry can not be reflected error. Can I submit the WSDL through the support portal ?
Doesn't harm trying :)
I have found that some WSDL's (like that with types that contain a type that contains an element of the parent type) don't wok. Best approach I have found is to save the WSDL, edit it to turn those bad structures into something else (like string values), and then point to the local file with a file:// URL in the WSDL dialog.

J.Ja
I would be wary of editing the WSDL especially if you are not the owner of web-service.


I agree, it means that every time the WSDL changes, you need to get a new copy and re-perform your modifications.

But the alternative is to write an extension in .NET or Java where you can import the WSDL, then re-expose it to OutSystems, which can be a day of tedious, boring, unrelible work which then needs to be tested.

J.Ja
I am using the extension option right now.Not happy with it though.