WSDL Web服务从C#返回空数组 [英] WSDL Web Service returns empty array from C#
本文介绍了WSDL Web服务从C#返回空数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用具有以下地址的Web服务:
请帮助!
我的代码如下所示:
GetCitiesRequest请求=新的GetCitiesRequest();CityServicePortClient端口=新的CityServicePortClient();GetCitiesResponse getCitiesResponse = port.GetCities(request);var list = getCitiesResponse.cities;
解决方案
知道了!
Visual Studio弄乱了 XmlElementAttribute
上的 Order
参数,因此,在您的 References.cs
文件中更改以下内容:
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified,Order = 0)]公共long cityId
到
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified,Order = 1)]公共long cityId
和
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified,Order = 1)]公共字符串cityCode
到
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified,Order = 0)]公共字符串cityCode
I am using a web service with this address: https://api.n11.com/ws/CityService.wsdl
The service has a method 'GetCities'. You can test it with http://wsdlbrowser.com/
The problem is when I get Cities from C#, it returns an array of 81 elements but 'cityId' and 'cityName' gets null.
Please help!
My code is shown below:
GetCitiesRequest request = new GetCitiesRequest();
CityServicePortClient port = new CityServicePortClient();
GetCitiesResponse getCitiesResponse = port.GetCities(request);
var list = getCitiesResponse.cities;
解决方案
Got it!!!
Visual Studio is messing up the Order
parameter on XmlElementAttribute
, so, in your References.cs
file change the following:
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
public long cityId
to
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
public long cityId
and
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
public string cityCode
to
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)]
public string cityCode
这篇关于WSDL Web服务从C#返回空数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文