WSDL cannot implicitly convert String[][] to Outsystems string
Application Type
Reactive, Service
Service Studio Version
11.12.2 (Build 50367)

Hello,

I'm consuming a SOAP service with this construction in the WSDL:


<s:complexType name="EWS12_Output">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="O_TEXT_List" type="tns:General_ListItems"/>
</s:sequence>
</s:complexType>
<s:complexType name="General_ListItems">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="row" type="tns:General_ListColumns"/>
</s:sequence>
</s:complexType>
<s:complexType name="General_ListColumns">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="column" type="s:string"/>
</s:sequence>
</s:complexType>

(parts omitted for clarity)

The problem arises from the "column" part, which should be a text list. In fact, the generated structures do recognise this as a text list.

Now the problem: Trying to publish te module results in:

________________________________________________________________________________

Internal Error

Compilation Error.
CustomClients\extranet_ws\Structures.STGeneral_ListColumnsStructure.cs(763,19): error CS0029: Cannot implicitly convert type 'string[][]' to 'OutSystems.HubEdition.RuntimePlatform.Db.BasicTypeList<string>'
record.sscolumn = proxyObj;
CustomClients\extranet_ws\Structures.STGeneral_ListColumnsStructure.cs(769,8): error CS0029: Cannot implicitly convert type 'OutSystems.HubEdition.RuntimePlatform.Db.BasicTypeList<string>' to 'string[][]'
return obj.sscolumn;
CustomClients\extranet_ws\Structures.STGeneral_ListItemsStructure.cs(763,16): error CS1502: The best overloaded method match for 'ssRequestStatus_CS.RLGeneral_ListColumnsList.ToList<string[]>(string[][], System.Func<string[],ssRequestStatus_CS.STGeneral_ListColumnsStructure>)' has some invalid arguments
record.ssrow = RLGeneral_ListColumnsList.ToList(proxyObj, SOAPGeneral_ListColumns.FromProxyStructure);
CustomClients\extranet_ws\Structures.STGeneral_ListItemsStructure.cs(763,59): error CS1503: Argument 2: cannot convert from 'method group' to 'System.Func<string[],ssRequestStatus_CS.STGeneral_ListColumnsStructure>'
record.ssrow = RLGeneral_ListColumnsList.ToList(proxyObj, SOAPGeneral_ListColumns.FromProxyStructure);
CustomClients\extranet_ws\Structures.STGeneral_ListItemsStructure.cs(769,34): error CS0407: 'string[][] ssRequestStatus_CS.Ccextranet_ws.SOAPGeneral_ListColumns.ToProxyStructure(ssRequestStatus_CS.STGeneral_ListColumnsStructure)' has the wrong return type
return obj.ssrow.ToArray<string>(SOAPGeneral_ListColumns.ToProxyStructure);
CustomClients\extranet_ws\Structures.STGeneral_ListColumnsStructure.cs(767,26): (Location of symbol related to previous error)
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll: (Location of symbol related to previous error)
CustomClients\extranet_ws\Structures.STGeneral_ListItemsStructure.cs(769,8): error CS0029: Cannot implicitly convert type 'string[]' to 'string[][]'
return obj.ssrow.ToArray<string>(SOAPGeneral_ListColumns.ToProxyStructure);

State: Second stage compilation

___________________________________________________________________________________________

Now, when I change the unbounded in the definition to 1, everything works fine bu I loose (important) data.

As the support page seems to be experiencing problems, is there anyone that can help me with this?

Thanks,

Detlev

mvp_badge
MVP
Solution

Hi Detlev,

This might be a known limitation, as described here, though I'm not entirely sure it's the same use case. Regardless, Service Studio should tell you when consuming the SOAP, not when compiling, so be sure to send this to OutSystems Support.

Hi Kilian,

Yes, Outsystems Support came up with the same answer. It is just not supported yet, and the workaround with dummy fields works.

Thanks for teh effort!

mvp_badge
MVP

Hi Detlev,

Great to hear you got the work-around working. Happy coding!

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.