C# 在C中使用webservice返回数组#

C# 在C中使用webservice返回数组#,c#,web-services,C#,Web Services,我有两个用ADVPL开发的Web服务,它们将在我的应用程序中使用VS2013(Windows窗体)的C#中 第一个总是返回一个字符串并且工作正常,但是第二个总是返回一个数组,我根本不能使用它 这不是连接问题,因为如果我将第二个webservice更改为返回字符串,则所有内容都正常工作,但无法在Visual Studio 2013中作为数组执行 他返回给我“不能隐式转换类型”错误 遵循发布的Web服务的方法并生成错误: Web服务请求: <?xml version="1.0" encodin

我有两个用ADVPL开发的Web服务,它们将在我的应用程序中使用VS2013(Windows窗体)的C#中

第一个总是返回一个字符串并且工作正常,但是第二个总是返回一个数组,我根本不能使用它

这不是连接问题,因为如果我将第二个webservice更改为返回字符串,则所有内容都正常工作,但无法在Visual Studio 2013中作为数组执行

他返回给我“不能隐式转换类型”错误

遵循发布的Web服务的方法并生成错误:

Web服务请求:

<?xml version="1.0" encoding="utf-8"?"
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
   <_CFILIAL>STRING</_CFILIAL>
</soap:Body>
</soap:Envelope>

错误:错误1无法将类型“Relogio_Ponto.WS_FUNCSPONTO.TESTEARRAY[]”隐式转换为“Relogio_Ponto.WS_FUNCSPONTO.TESTEARRAY”

,我猜因为有多个元素,所以它被视为数组。试试这个:

WS_FUNCSPONTO.TESTEARRAY[] qwert = new WS_FUNCSPONTO.TESTEARRAY[10];
qwert = Recebe_Cadastro.PEGAINFORM("00");

不要在单个元素中获取响应,而是在数组中接收响应。

在添加服务引用的客户端项目中,转到web引用文件夹,右键单击该服务,然后选择
配置服务引用。在某个地方有一个下拉列表,上面写着
集合类型
确保它位于
系统.array
上,但在您的情况下,它看起来像一个列表,所以
系统.Collections.Generic.List
可能更好。
WS_FUNCSPONTO.FUNCSPONTO Recebe_Cadastro = new WS_FUNCSPONTO.FUNCSPONTO();
WS_FUNCSPONTO.TESTEARRAY qwert = new WS_FUNCSPONTO.TESTEARRAY();
qwert = Recebe_Cadastro.PEGAINFORM("00");
WS_FUNCSPONTO.TESTEARRAY[] qwert = new WS_FUNCSPONTO.TESTEARRAY[10];
qwert = Recebe_Cadastro.PEGAINFORM("00");