title: Get information from multiple web services using single data type of data object
body: <p>I have a helper class,</p>
  
  <pre><code>    public class Bill
      {
          public string BillId {get; set;}
          public double Amount {get; set;}
          public DateTime DueDate {get; set;}
      }
  </code></pre>
  
  <p><strong>WebService1</strong> : Reference to Bill</p>
  
  <pre><code>    [WebMethod]
      public Bill GetBill(string accountId)
      {
          /* Create and return the bill object */
      }
  </code></pre>
  
  <p><strong>WebService2</strong> : Reference to Bill</p>
  
  <pre><code>    [WebMethod]
      public Bill GetBill(string accountId)
      {
          /* Create and return the bill object */
      }
  </code></pre>
  
  <p><strong>Client Application</strong> : Reference to Bill, WebService1, WebService2</p>
  
  <pre><code>    public void GetBillInformaton
      {
          /* Looping through all the bill requests from a user */
          List&lt;Bill&gt; bills = new List&lt;Bill&gt;();
          foreach (BillRequest)
              if (BillRequest.ServiceProvider = Service1)
                  bills.Add(WebService1.GetBill(BillRequest.AccountId)
              else if (BillRequest.ServiceProvider = Service2)
                  bills.Add(WebService2.GetBill(BillRequest.AccountId)
              ....
              ....
      }
  </code></pre>
  
  <p>If I want two web services (initially later on may more) to return me their contract information in the form of above class object and use it in one client application referring to both web services,</p>
  
  <p><strong>Q1</strong> Is it possible what I am trying to do here?
  <strong>Q2</strong> If not, a better way of doing it please.</p>
  
  <p><strong>Additional Info</strong>
  For a scenario what I am trying to do here is to implement a prototype standard protocol among billers so a client application can aggregate information using common data object.</p>