Deserializing complex objects
                            
                         
                        
                     
                 
                
                    I'm trying to use C# to connect to a SOAP server but having problems receving complex objects as return values. Here is the code:
First is my proxy:
[System.Web.Services.WebServiceBindingAttribute(Name="urn:ItemManager",Namespace="urn:Configuration")]
public class Configuration: SoapHttpClientProtocol
{
    
    public Configuration()
    {
        this.Url = "http://localhost:7001/soap/servlet/rpcrouter";
    }
    [SoapDocumentMethodAttribute
    ("",RequestNamespace="urn:Configuration",ResponseNamespace="urn:Configuration",Use=
    System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
    public SiteConfig getSiteConfig()
    {        
        object [] results = this.Invoke("getSiteConfig", new object[] {});
        
        SiteConfig site = (SiteConfig)results[0];
         
        return site;
    }
}
My complex object:
public class SiteConfig 
{
    public int numRouters;
    public int numSwitches;     
}
Test client:
public class Test
{
    public static void Main(string[] args)
    {
        Configuration config = new Configuration();
        SiteConfig site = config.getSiteConfig();
        Console.WriteLine(site.numRouters+"");
    }
}
The problem I am getting is I get a "System.NullReferenceException: Object reference not set to an instance of an object." on the line Console.WriteLine(site.numRouters+""); in the Test client.
I've been looking at the SOAP messages and they seem to be working find. The response from the server looks like:
    
        
            
                10
                20
            
        
    
Any help would be great!