title: WCF service method unavailable in WCF Test Client because it uses type
body: <p>I am trying to use the WCF Test Client to test a WCF service I have built.  </p>
  
  <p>The service has one method "SubmitRequest".</p>
  
  <pre><code>[OperationContract]
  Response SubmitRequest(Request request);
  </code></pre>
  
  <p>When I load up the WCF Test Client, the method is grayed out with the message "This operation is not supported in the WCF Test Client because it uses type WcfLibrary.Objects.Request</p>
  
  <p>Below is the type definition, does anyone see anything wrong?</p>
  
  <pre><code>[DataContract]
  public class Request
  {
      [DataMember]
      public string LoanNumber { get; set; }
  
      [DataMember]
      public string ClientCode { get; set; }
  
      [DataMember]
      public Region Region { get; set; }
  
      [DataMember]
      public RequestType RequestType { get; set; }
  
      [DataMember]
      public List&lt;RequestParameter&gt; RequestParameters { get; set; }
  
      [DataMember]
      public List&lt;MspWebCallType&gt; MspWebCallsForXmlRequest { get; set; }
  
      [DataMember]
      public Hashtable XmlRequestParameters { get; set; }
  
      public Request(string loanNumber, string clientCode, Region region, RequestType requestType, List&lt;RequestParameter&gt; requestParameters)
      {
          LoanNumber = loanNumber;
          ClientCode = clientCode;
          Region = region;
          RequestType = requestType;
          RequestParameters = requestParameters;
      }
  }
  
  [DataContract]
  public class MspWebCallType
  {
      [DataMember]
      public string WebService { get; set; }
      [DataMember]
      public string Operation { get; set; }
      [DataMember]
      public string Version { get; set; }
      [DataMember]
      public Hashtable Parameters { get; set; }
      [DataMember]
      public Msp.FavReadViews FAVReadViewIndicator { get; set; }
      [DataMember]
      public Msp.DsReadIndicators DSReadInidicator { get; set; }        
  }
  
  [DataContract]
  public enum Region 
  { 
          [EnumMember]
          P2,
          [EnumMember]
          PROD 
  }
  
  [DataContract]
  public enum RequestType
  {
      [EnumMember]
      None,
      [EnumMember]
      XmlRequest,
      [EnumMember]
      SomeOtherRequestType
  }
  
  [DataContract]
  public struct RequestParameter
  {
      [DataMember]
      public string ParameterName { get; set; }
  
      [DataMember]
      public string ParameterValue { get; set; }
  }
  </code></pre>
  
  <p>Thanks.</p>
  
  <p>EDIT w/ answer...<br/>
  The operation was not available via the WCF Test Client because the type MspWebCallType had a property of type Hashtable.  Once I removed this property it fixed the issue.  Thanks for everyone's help.</p>