WSDL Web Service returns empty array from C#

asp.net-web-api, c#, soap, web-services, wsdl

Solution

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

Problem

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; ```

Original source