title: Dynamic Call to WCF Service
body: <p>We would like to provide the ability for customers to enter in a web service, our application would inspect the service, provide them with the input parameters and type, the customer would the input parameters and our application would call that web service.  I have found code examples which will dynamically inspect and invoke .asmx services, examples in 3.5 which rely on a shared interface, and examples in 4.0 using the new 4.0 assemblies.  </p>
  
  <p>What I am missing is a way to dynamically inspect a WCF service using .NET 3.5 without exchanging a shared interface.  I have been able to determine the service name and method, but the value parameters are not coming through on the WSDL.</p>
  
  <p>Here is my simple service:</p>
  
  <pre><code>    [OperationContract]
      string GetDataInt(int value);
  
      [OperationContract]
      string GetDataStringInt(int value, string stringValue);
  
        [OperationContract]
      string GetDataStringIntBool(int value, string stringValue, bool boolValue);
  </code></pre>
  
  <p>And here is what is coming through as parameters on the WSDL (for the parameters):</p>
  
  <pre><code>&lt;wsdl:message name="IService1_GetDataInt_InputMessage"&gt;
  &lt;wsdl:part name="parameters" element="tns:GetDataInt"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="IService1_GetDataInt_OutputMessage"&gt;
  &lt;wsdl:part name="parameters" element="tns:GetDataIntResponse"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="IService1_GetDataStringInt_InputMessage"&gt;
  &lt;wsdl:part name="parameters" element="tns:GetDataStringInt"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="IService1_GetDataStringInt_OutputMessage"&gt;
  &lt;wsdl:part name="parameters" element="tns:GetDataStringIntResponse"/&gt;
  &lt;/wsdl:message&gt;
  </code></pre>
  
  <p>The parameter types are not coming through on the wsdl.  Is there a way in .NET 3.5 to inspect a WCF service and invoke it?  </p>